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

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

続きを読む

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

2019/7/15 更新 2021/9/10 ドラッグ処理について刷新・理由についての追記 2021/9/14 Camera.mainの注意点追加とスクリプト修正 回転やスライドのパズルを作ってみましたが、 パズルと言えばジグソー! 王道のパズルゲームを考えてみます。 今まではピースを押せば移動していたのですが、 ジグソーはピースを持って動かす事が条件になります。 また、正しい位置にきたらピースがハマる事も必要になるので、 初心者には、かなり敷居の高い操作になるかと… とりあえず、完成するかは別としてチャレンジあるのみでっす。 ジグソーの動きを考えると ・ピースを持って動かす ・ピースが位置に来たらハマる ・絵が完成したらクリア が条件になるので、 まずは、ピースを掴む・動かすを実装しないといけません。 ピースはImageオブジェクトを使うので、 オブジェクトをドラッグできるようにすればいいかと思います。 ここからは、記事を刷新しました。 2021/9月現在、Unityバージョン2020.2.3f1の情報になります。 以前は、EventTriggerを使うように書いてましたが、 なくてもDragできるようになっています。 オブジェクトのドラッグを簡単に設定する方法は、 OnMouseDragメソッドを利用すると便利です。 ただ、スクリプトリファレンスで、 この関数はレイヤーが「 …

続きを読む

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

2019/6/5 コードハイライト修正 2022/02/14 version2020.2.3f1にて動作確認・内容追記 2022/10/1 FadeCamera2の新記事を立ち上げました。       この記事の内容では、動作が不安定な為、       新しく処理を作り直しております。       つきましては、       FadeCamera2 シーン遷移の演出←クリックすると新ページが開きます。        新ページの方へ移動してもらえると助かります。       なお、このページは時期を見て削除予定です。       いろいろとコメントを頂いた事で、勉強する事ができました。       コメント頂いた方々には感謝しております。m(_ _)m 前回、フェードイン・アウトを作ってみたのですが、 場面転換時に、アプリによっていろいろ演出がされています。 かっこいいのですが、どうすればいいのか分かりません(T^T) ヒック そんなスクリプト情弱にも使える便利なアイテムが公開されています。 テラシュールブログさんの 【Unity】Unityでトランジションを使用した綺麗な場面転換(uGUI対応版) ここで公開されているFadeCamera2がすごく使いやすくて便利です。 AssetをインポートしてFade用のPrefabをセットするだけです。 フェードだけでなくルール画像を使ったトランジションが可…

続きを読む

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

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

続きを読む