【Unity】ジグソーピースをハメる

2019/7/15更新 ピースオブジェクトをドラッグ操作できるようにして、 所定位置で固定する方法を試してみましたが、 コラインダーの衝突判定では、オブジェクトの設置が大変なので、 所定位置を座標で判断できるようにしてみます。 また、ピースが所定位置を通過するとハマってしまうので、 ドロップ時に所定位置にあれば、ピースがハマるように改良してみます。 改良点 ・ピースがハマる所定位置をつくる ・所定位置の範囲をつくる 所定位置は前回のポジション-300,0,0を使います。 この位置を中心にオフセットを設定して、範囲内でドロップしたら 所定位置にピースが移動するようにしてみます。 float objx = this.transform.localPosition.x; float objy = this.transform.localPosition.y; if (-360 <= objx && objx <= -240) { if (60 >= objy && objy >= -60) { this.transform.localPosition = new Vector3(-300, 0, 0); } } こんな感じで…

続きを読む

【Unity】ドラッグでオブジェクトを動かしてみる

2019/7/15更新 回転やスライドのパズルを作ってみましたが、 パズルと言えばジグソー! 王道のパズルゲームを考えてみます。 今まではピースを押せば移動していたのですが、 ジグソーはピースを持って動かす事が条件になります。 また、正しい位置にきたらピースがハマる事も必要になるので、 初心者には、かなり敷居の高い操作になるかと… とりあえず、完成するかは別としてチャレンジあるのみでっす。 ジグソーの動きを考えると ・ピースを持って動かす ・ピースが位置に来たらハマる ・絵が完成したらクリア が条件になるので、 まずは、ピースを掴む・動かすを実装しないといけません。 ピースはImageオブジェクトを使うので、 オブジェクトをドラッグできるようにすればいいかと思います。 早速Google先生にお伺いを立てると レモンティーさんの  LemonteaのUnity部屋 Unityでオブジェクトを簡単にドラッグする こちらで紹介されていました。 スクリプトをお借りして試してみます。 Unity 2018.2.5f1 Personal (64bit) - DragTest.unity - Drag_test - Android_ _DX11 on DX9 GPU_ 2019_01_19 18_36_53.mp4 無事ドラッグでオブジェクトを操作できました。 ソースを公開されていて感謝いたします。…

続きを読む

【Unity】シーン移動時にトランジションで演出する

2019/6/5コードハイライト修正 前回、フェードイン・アウトを作ってみたのですが、 場面転換時に、アプリによっていろいろ演出がされています。 かっこいいのですが、どうすればいいのか分かりません(T^T) ヒック そんなスクリプト情弱にも使える便利なアイテムが公開されています。 テラシュールブログさんの 【Unity】Unityでトランジションを使用した綺麗な場面転換(uGUI対応版) ここで公開されているFadeCamera2がすごく使いやすくて便利です。 AssetをインポートしてFade用のPrefabをセットするだけです。 フェードだけでなくルール画像を使ったトランジションが可能で カッコイイ演出も可能です。 実際にインポートしながら設定してみたいと思います。 https://github.com/tsubaki/FadeCamera2/blob/master/FadeCamera2.unitypackage?raw=true からFadeCamera2をUnityにインポートします。 Unityを開いた状態で上記URLをクリックします。 Windows10でクリックするとDLメッセージが画面下に表示されます。 win7や8でも同じかと思います。 ファイルを開くを押すと セキュリティ画面が開くので”許可する”をクリックすると Unity上にインポート画面が表示されるのでImportします。 …

続きを読む

【Unity】フェードイン・アウトを考える

2019/5/11更新 いよいよ2019始動しました。 去年からUnityの勉強を復活してボチボチ進めてきたのですが、 スクリプトも少し書けるようになってきたので、今年こそは”リリース”を目標に 頑張って行こうと思います。 平成も終わりを迎えるので、 新元号になる前に1本くらいはリリースできるといいのですが… 今年の最初の記事は、フェードイン・アウトの実装です。 今どきフェードイン・アウトの無いゲームは少ないので、 実装は必須かと思います。 フェードイン・アウトと言っても、いろいろな方法があります。 今回は、スクリプトの勉強も兼ねて自作に挑戦してみようと思います。 準備として Android用の画面を用意 シーン移動用のボタン設置 ここからフェード用のパネルを追加します。 PanelはCanvasサイズに依存するので、自動的にCanvasと同じ大きさになります。 追加したパネルのcollarをクリックするとパレットが開きます。 パレットのA(alpha値)を操作すると透明度が変わるので これをスクリプトから操作すればフェードができるかと思います。 最初はフェードインさせたいのでA値を255にしておきます。 まずは、フェードインのスクリプトを考えてみます。 using System.Collections; using System.Collections.Generic; using…

続きを読む