それでは各種動力等の設定に入ります。
まずはfile前回作ったテキストをメモ帳で開いてみて下さい。
まだタイヤの設定もハンドルの設定も出来ていないので当然動きません。
はじめにハンドルの動きを設定してみます。
動きの設定はval{}の中で行います。

Val
{

	Handle(default=0,min=-20,max=20,step=5)

}
Key
{
}

Handle()というのはハンドルのために割り当てた名前です。
例えばH1()とかLR()といった好きな名前でもかまいません
()内のdefaultは初期プリセット、minは最低値、maxは最高値、stepは減衰値です。
パネ●ットでいえば、初期プリセットが0、←-20°、→20°と置き換えると分かり易いかもしれません。
減衰値はハンドルを切って離したときに、どのぐらいの力で初期プリセットに戻るかの設定です。
例えば右に一杯にハンドルを切った状態でstepが20であれば、キーを離した瞬間に(20-20=0)となって初期値に戻ります。
stepが0.1であれば(20-0.1=19.9)で200サイクル掛けてゆっくりと初期値に戻ります。
stepが0であればそのままの角度が保持されます。

次にコントロールの設定です。こちらはkey{}の中で行います。

val
{
	Handle(default=0,min=-20,max=20,step=5)
}
Key
{

	2:Handle(step=-0.5)	//キー2(初期値←)が押されてる間handle-0.5
	3:Handle(step=0.5)		//キー3(初期値→)が押されてる間handle+0.5

}

ここでのstepはハンドルが切れていくスピードです。
fileここまで(リンク切れ中)で一度ロードしてみると…
09.jpg

少し見難いですが、左下にHAND..:表示が見えると思います。 これはhandleが変数として設定されたと言うことです。 左右キーで数字の変化を試してみましょう。 ちゃんと動いているようであれば、これを使ってハンドルを切ってみましょう。

Body {								//   ボディ制作開始
	Core(){							//1:  コア
		N:Chip(){						//2:  1の北側にチップ
			N:Rudder(angle=handle){			//3:  2の北側にYジョイント、角度は(handle)
				W:Frame(){			//4-1: 3の西側にフレーム		 	
					W:Wheel(angle=90){		//5-1: 4-1の西側にホイール、90度曲げる
					}
				}
				E:Frame(){			//4-2: 3の東側にフレーム
					E:Wheel(angle=90){		//5-2: 4-2の東側にホイール、90度曲げる

10.jpg

ハンドルが切れました。

次はエンジンです。

val
{
	Handle(default=0,min=-20,max=20,step=5)

	Engine(default=0,min=-2500,max=2500,step=2500)

}
Key
{

	2:Handle(step=-0.5)	//キー2(初期値←)が押されてる間handle-0.5
	3:Handle(step=0.5)		//キー3(初期値→)が押されてる間handle+0.5
	
	0:Engine(step=-500)	//キー0(初期値↑)が押されてる間engine-500
	1:Engine(step=500)		//キー1(初期値↓)が押されてる間engine+500	

}

これでengineが変数として設定されました。

12.jpg

さて、これを使ってタイヤを動かすにはpower命令を使います。

		S:Chip(){						//6:  1の南側にチップ
			W:Frame(){				//7-1: 6の西側にフレーム
				W:Wheel(angle=90,power=engine){	//8-1: 7-1の西側にホイール、90度曲げる、出力はengine

				}
			}
			E:Frame(){				//7-2: 6の東側にフレーム
				E:Wheel(angle=90,power=-engine){	//8-2: 7-1の東側にホイール、90度曲げる、出力は-engine
				}
			}
		}

左右のタイヤで回転方向が逆になるのに注意。ってこれは散々やってますよね?

11.jpg

無事動きましたか?


添付ファイル: file12.jpg 41件 [詳細] file11.jpg 30件 [詳細] file10.jpg 39件 [詳細] file09.jpg 30件 [詳細]