質問: new Vector3 (pos.x + 2, pos.y, pos.z); このコードを入れると、オブジェクトが延々と右に動いていきます。if文で制御できていないのでしょうか? Destroyに関して オブジェクトを消すというより状態を変更(1(ペグ)から0(空白))にしたいので消す必要はないと判断しました。 アニメーションに関して 調べてきました。スライド移動や伸縮させたいわけではないので、アニメーションは追加しない方向でいきたいです。 ### 補足情報(FW/ツールのバージョンなど) unity 2017.3.1
回答: 大分把握したのでこちらにて。オブジェクト設定は問題無さそうですね。 プレイヤーの操作は「どのペグを」「どの位置に」動かすか、なのでクリックは2回ですよね? これを各オブジェクト内(onclick.cs)でやるのは少し荷が重いので、役目を分割しましょう。 **onclick.cs** ・そのオブジェクトのマス目座標(x,y)を保持する ・クリックされたらbase_objのgametaskの「マス目x,yが押されたメソッド」を呼び出し(=gametask.cs内に`PushCell(x,y)`のようなメソッドを作る) **gametask.cs**(シーン上に1つだけという前提) ・現在の入力モード「ペグ選択中」「移動先選択中」を保持する ・PushCellメソッド呼び出し時、適切な入力なのか判定後、入力モードを切り替える ・飛び越え条件を満たしていたら「最初に選んだペグのマスを0に/移動先のマスを1に/中間のマスを0に」する(これが「飛び越えたら消える」処理)+オブジェクトの描画状態切り替え こんな感じで実装するといいんじゃないかと思います。 (配列の作り方などでもう少し工夫出来そうですがとりあえず方向性のみ) ちなみに今、餅(ペグ)にonclick.csが付いていますが、「ペグが無いマス」もクリック対象となると思います。(私がルールの認識間違っていたらすみません) なので別途「マス(透明)」オブジェクトを用意し、onclick.csはそちらに付け、餅はただの画像にするといいかもしれません。