2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ジョーカースクリプトでキーボード操作したメモ

Last updated at Posted at 2019-05-28

※ 2016年の自分の記事を移転しました。

課題について

ジョーカースクリプトはマウスのみにしか対応していない?ようでした。
そのため、キーボード操作がメインのゲームにはユーザビリティ的に欠点です。
(サポート掲示板には質問は投稿されていますが、返信なし。。。)

ということなので、改修して実装してしまいましょう。

改修内容

やったことは単純で、SeneInit.csのUpdateにキーボードが押下されたか判断させただけです。
(ソースをななめ読みしたので、これが正しいのかはわかりません。間違ってたら指摘してください。)

ロジックは以下のような感じです。

  1. スペースキーとエンターキーで次へ進める。
  2. コントロールキーでスキップ開始。
  3. それぞれにスキップ停止処理を加える。
SeneInit.cs
void Update () {
	if (Input.GetMouseButtonUp (0)) {
		StartCoroutine("ClickButton");
	}

	// シナリオをすすめる
	if (Input.GetKey(KeyCode.Space) || Input.GetKey(KeyCode.Return) || Input.GetKey(KeyCode.KeypadEnter))
	{
		//skip中にクリックされた場合、Skipを止める
		if (StatusManager.FlagSkiiping)
		{
			StatusManager.FlagSkiiping = false;
		}

		gameManager.clickNextOrder();
	}

	// スキップ開始
	if (Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl))
	{
		//skip中にクリックされた場合、Skipを止める
		if (StatusManager.FlagSkiiping)
		{
			StatusManager.FlagSkiiping = false;
		}
		else
		{
			StartCoroutine("startSkip");
		}
	}
}

調査方法のメモ

  1. スキップがマウス操作のみということは、マウスイベントを取得している箇所を探すと見つかるのでは。
  2. 「GetMouseButtonUp」で探す。
  3. 見つかりました。
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?