質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

1回答

238閲覧

プログラミング教育のアプリ。右、右、左などのボタンを押してスタートを押すとその通りに動かすやり方

isoyanyan

総合スコア10

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

1グッド

0クリップ

投稿2018/12/13 13:07

編集2018/12/13 13:11

プログラミング教育のアプリ。右、右、左などのボタンを押してスタートボタンを押すとその通りに動かすやり方を教えていただきたいです。押したボタンの履歴は出ている状態です。
わかる方がいらっしゃいましたら、なるべく早めにご回答いただくと大変助かります。
よろしくお願い致します。

bochan2👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yukkuri

2018/12/13 13:09 編集

もう少しソースや調べたことなどを書かないと、これでは丸投げです。編集をしてください。
yukkuri

2018/12/13 13:13 編集

あと、追い詰められるような気分を持たれたら申し訳ないですが、なるべく早めのような急かす言葉は使わないほうがいいですよ。回答者はすべてボランティアですし。
guest

回答1

0

履歴の配列を
List<int> btnHistory;
0:右 1:左 2:上 3:下としておきました
都合に合わせてgetDirを改変したり
int[] btnHistoryに書き換えるなりしてください

このスクリプトを動かしたい物体に付けて
ボタンのスクリプトのインスペクターで指定してから
btnHistoryを設定したあと.Activate()すれば動き出します

C#

1public class MovingObj:MonoBehavior{ 2int count; 3Vector3 target; 4Vector3 tempPos; 5float timestep=1; 6float t=0; 7Vector3 getDir(int i){ 8switch(i){ 9case 0: 10return new Vector3(1,0,0);break; 11case 1: 12return new Vector3(-1,0,0);break; 13case 2: 14return new Vector3(0,1,0);break; 15 case 3: 16return new Vector3(0,-1,0);break; 17} 18return Vector3.zero; 19} 20bool activated; 21public List<int> btnHistory; 22public void Activate(){ 23activated=true; 24tempPos=transform.position; 25targetPos=getDir(btnHistory[0])+tranfrom.position; 26} 27void Update(){ 28 if(!activated)return; 29 transform.position=Vector3.Lerp (tempPos,targetPos,t) 30 t+=Time.deltaTime/timestep; 31 if(t>1){ 32 count++; 33 if(count>=btnHistory.Count){ 34activated=false; 35return; 36 37} 38 targetPos=tempPos+getDir(btnHistory[count]); 39 40 t=0; 41 } 42} 43}

投稿2018/12/22 03:52

bochan2

総合スコア2050

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問