このWikiは古くなりました:
新しいWikiへ移動
弾を撃つ
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
//@pnavi
[[←前>自機を動かす]] [[次→>敵を動かす]] [[トップ>シュー...
**弾を撃つ [#a3a001f5]
-弾を作る
[[オブジェクトを作る>オブジェクトを作る]]を参考に弾のオブ...
&ref(newTama.png);
[[オブジェクトのキャラクタパターンを指定する>オブジェクト...
&ref(tamapat.png);
弾をダブルクリックし、次のように入力します。
//prog
extends SpriteChar;
while(y>0) {
y=y-8;
update();
}
実行すると、弾が上に飛んでいくのが見えます。
よく見えなかった場合、F2で止めて、弾をドラッグして下の方...
-スペースキーを押すと弾が出る
しかし実際には弾は自機から発射するものです。
スペースキーを押すと自機から弾が出るようにしましょう。
自機をダブルクリックし、次のように変更します
//prog
extends SpriteChar;
while(1) {
if (getkey(39)>0 && x<$screenWidth ) x=x+3;
if (getkey(37)>0 && x>0) x=x-3;
if (getkey(32)==1) appear(new Tama(x,y,$pat_Sample+1));
update();
}
まず前半部(if文の条件)から解説します
//progfrac
if (getkey(32)==1) ...
これは、[[自機を動かす]]でも出てきましたが、キーの状態を...
32はスペースキーを表す番号です。スペースキーが押された瞬...
if文のあとの処理を行います(押しっぱなしでは弾が撃てません)
そして、スペースキーがおされていた場合の、弾を撃つ処理です
//progfrac
... appear(new Tama(x,y,$pat_Sample+1));
これは、新しいオブジェクトを作るときの決まり文句で、次の...
パラメータを指定します。
//plainForm
書式:
appear(new クラス名 ( x座標 , y座標 ,キャラクタパターン...
'''クラス名'''には、作成したいオブジェクトのクラス名を指...
...といっても、クラスの話は少し難しいので、ここでは次の手...
まず、今は弾を出したいのですから、とりあえず画面上の弾を...
すると、オブジェクトインスペクタに弾の内容が表示されます...
ここに「Tama」とかいてあります。これが弾のクラス名になり...
&ref(tamaclass.png);
-'''x座標''' , '''y座標'''
作成するオブジェクトの位置を指定します。ここでは、自機か...
-'''キャラクタパターン'''
作成するオブジェクトのキャラクタパターンを指定します。
キャラクタパターンを指定するには、下図のように、キャラク...
&ref(selTamaP.png);
さて、これで実行させてみましょう。スペースキーを押すと弾...
//@pnavi
[[←前>自機を動かす]] [[次→>敵を動かす]] [[トップ>シュー...
終了行:
//@pnavi
[[←前>自機を動かす]] [[次→>敵を動かす]] [[トップ>シュー...
**弾を撃つ [#a3a001f5]
-弾を作る
[[オブジェクトを作る>オブジェクトを作る]]を参考に弾のオブ...
&ref(newTama.png);
[[オブジェクトのキャラクタパターンを指定する>オブジェクト...
&ref(tamapat.png);
弾をダブルクリックし、次のように入力します。
//prog
extends SpriteChar;
while(y>0) {
y=y-8;
update();
}
実行すると、弾が上に飛んでいくのが見えます。
よく見えなかった場合、F2で止めて、弾をドラッグして下の方...
-スペースキーを押すと弾が出る
しかし実際には弾は自機から発射するものです。
スペースキーを押すと自機から弾が出るようにしましょう。
自機をダブルクリックし、次のように変更します
//prog
extends SpriteChar;
while(1) {
if (getkey(39)>0 && x<$screenWidth ) x=x+3;
if (getkey(37)>0 && x>0) x=x-3;
if (getkey(32)==1) appear(new Tama(x,y,$pat_Sample+1));
update();
}
まず前半部(if文の条件)から解説します
//progfrac
if (getkey(32)==1) ...
これは、[[自機を動かす]]でも出てきましたが、キーの状態を...
32はスペースキーを表す番号です。スペースキーが押された瞬...
if文のあとの処理を行います(押しっぱなしでは弾が撃てません)
そして、スペースキーがおされていた場合の、弾を撃つ処理です
//progfrac
... appear(new Tama(x,y,$pat_Sample+1));
これは、新しいオブジェクトを作るときの決まり文句で、次の...
パラメータを指定します。
//plainForm
書式:
appear(new クラス名 ( x座標 , y座標 ,キャラクタパターン...
'''クラス名'''には、作成したいオブジェクトのクラス名を指...
...といっても、クラスの話は少し難しいので、ここでは次の手...
まず、今は弾を出したいのですから、とりあえず画面上の弾を...
すると、オブジェクトインスペクタに弾の内容が表示されます...
ここに「Tama」とかいてあります。これが弾のクラス名になり...
&ref(tamaclass.png);
-'''x座標''' , '''y座標'''
作成するオブジェクトの位置を指定します。ここでは、自機か...
-'''キャラクタパターン'''
作成するオブジェクトのキャラクタパターンを指定します。
キャラクタパターンを指定するには、下図のように、キャラク...
&ref(selTamaP.png);
さて、これで実行させてみましょう。スペースキーを押すと弾...
//@pnavi
[[←前>自機を動かす]] [[次→>敵を動かす]] [[トップ>シュー...
ページ名: