投稿

7月, 2019の投稿を表示しています

[Unity] タッチパッド(画面クリック)による入力を認識させる

イメージ
パッド的な入力、つまりDSやスマホに多い入力ですね。 PCではマウスドラッグ・クリックでの動作となります。 今回はテストとしてトランプをタッチすると消えるプログラムを作ります。 トランプ画像は 無料素材倶楽部 さんからお借りしました。ありがとうございます。 では早速。 ダウンロードしてきた「trump」フォルダを「Project」タブにドラッグしてimportします。 試しにpng画像の一枚をSceneにドラッグして表示してみました。 これに衝突判定をつけたいので、「Inspector」タブの「Add Component」から「Physics 2d」>>「Box Collider 2D」を選択します。「Is Trigger」にチェック。 そして、「Tag」>>「Add Tag」で「card1」というタグを生成し、これを適用します。 最終的にこうなっていればok。 そしてクリックしたオブジェクトを認識するには、3dと2dで違うコマンドを用いるみたいです。 あ、そうなんだ。変わるんだ。ややこしいなあ。 でも多分、2Dだと3Dの処理をするのは無駄が多すぎるんだろうな。しょうがない。 3D if (Input.GetMouseButtonDown (0)) //もしマウスの左ボタン(0)が押されたら { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit = new RaycastHit(); if (Physics.Raycast(ray, out hit)){ { obj /*クリックされたオブジェクト*/ = hit.collider.gameObject; } } 2D if (Input.GetMouseButtonDown (0)) { Vector2 vec = Camera.main.ScreenToWorldPoint (Input.mousePosition); Collider2D coll = Physics2D.OverlapPoint (vec); if (coll) { obj /*クリックされたオブジェクト*/ = coll.transform.game...

[Unity] タイトル画面を作る ~シーン移行とボタン、テキスト~

イメージ
今日は2Dゲームにタイトル画面をつけてみようと思います。 今回やるのは、起動後にまずタイトルシーンを表示させてから、そこにあるスタートボタンを押すことでゲームシーンに移行するようにする、というようなこと。 ---------------------------スポンサー--------------------------- -------------------------------------------------------------------- では早速。 タイトル画面は、ゲーム画面とは別のシーンになるので、「File」からタイトル用シーンを作成。 まずはタイトルを入れます。「GameObject」>>「UI」>>「Text」。 すると、HierarchyタブにCanvasとともにTextが導入されます。 まずはiOSやAndroidで表示された時にも意図した表示にするために、Canvasを下のように「Scale with screen size」にしておきます。 さて、Textを選択すると、Inspectorタブにいろいろ出てくるので、Text(Script)欄に好きなタイトルを書き込みます。 文字の色はその下のColorで、文字のデザインはFont Styleで変更。 この時、Font Sizeの割にボックスサイズ(Width, Height)が小さすぎると文字がボックスの外に追いやられて消えるので気をつけてください。Best Fitにチェックを入れると自動でボックスに入るようにしてくれるようです。 タイトルができたので、次に、スタートボタンを作成します。 「GameObject」>>「UI」>>「Button」。 Hierarchyをみると、ButtonにTextが付属していますので、同様に文字を変えられます。 (他にもオブジェクト入れたりして今こんな感じ。) 次に、ボタンを押したらシーン移行するようにします。 新しくC#スクリプトを作成して(Projectタブ右クリックから作成できます)、こんな風に書きます。 using System.Collections; using System.Collections.Generic; usi...