このWikiは古くなりました:
新しいWikiへ移動
敵を破壊する
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
//@pnavi
[[←前>自機を破壊する]] [[次→>敵の動きに変化をつける]] [[...
**敵を破壊する [#te0445fc]
***敵と弾がぶつかったら、敵が死ぬ [#s4c7d453]
自機がやられっぱなしではゲームになりませんので、敵も破壊...
敵が弾に当たったら敵が死ぬようにすればいいのですから、[[...
敵をクリックして、次のような行を追加します。
//prog
extends SpriteChar;
while (y<$screenHeight) {
y=y+2;
if (crashTo($tama)) die();
if (crashTo($myChar)) $myChar.die();
update();
}
しかし、これで実行しても、敵は死んでくれません。
この文は「$tamaが当たったら(敵が)死ぬ」ということを意味し...
$tamaとは、設計時に作った弾(実行を止めても画面上にいるオ...
しかも$tamaは実行するとすぐ上に飛んで行って消えてしまいま...
一方、自分が撃つ弾は、実行時に新しく発生しているものなの...
そこで、実行時に作られたオブジェクトを参照するための仕組...
[[for (xx in $chars)]] {}
という文です。さっきの行を消して次のように書いてみましょ...
//prog
extends SpriteChar;
while (y<$screenHeight) {
y=y+2;
//追加
for (t in $chars) {
if ( t is Tama && crashTo(t) ) {
die();
}
}
//追加終わり
if (crashTo($myChar)) $myChar.die();
update();
}
まず、最初の行
//progfrac
for (t in $chars) {
について解説します
これは、今画面上にいる全部のオブジェクトを調べ上げて、変...
例えば、今画面に自機と敵が1つづつ、弾が2つあるとします。
すると、 for (t in $chars) {は
まずtに自機オブジェクトを代入し、{ }内の文を実行します。
それが終わると今度はtに敵オブジェクトを代入し、同様に実行...
さらに弾オブジェクトの1個目を代入し実行
さらに弾オブジェクトの2個目を代入し実行
という処理を行います。(※ただし、どのオブジェクトが何番目...
次に{}内の処理について解説します。
//progfrac
if ( t is Tama && crashTo(t) ) {
die();
}
ifの条件部が&&で区切られているので、"t is Tama"と、"crash...
t is Tama という式は、オブジェクトtのクラスがTamaである...
前述のとおり、 for (t in $chars) {は、画面上の「全部の」...
つまり ( t is Tama && crashTo(t) )は、tが弾で、その弾にぶ...
そして、この条件が成り立つと die();によって敵自身が死に...
実行してみましょう。敵を弾に当てると敵が死ぬようになりま...
***敵の爆発パターンを作る [#o403a51c]
敵にも爆発パターンつけてみましょう([[自機を破壊する>自機...
//prog
extends SpriteChar;
function onDie() {
appear(new Bomb(x , y ,$pat_Sample+4));
}
while (y<$screenHeight) {
y=y+2;
for (t in $chars) {
if ( t is Tama && crashTo(t) ) {
die();
}
}
if (crashTo($myChar)) $myChar.die();
update();
}
//@pnavi
[[←前>自機を破壊する]] [[次→>敵の動きに変化をつける]] [[...
終了行:
//@pnavi
[[←前>自機を破壊する]] [[次→>敵の動きに変化をつける]] [[...
**敵を破壊する [#te0445fc]
***敵と弾がぶつかったら、敵が死ぬ [#s4c7d453]
自機がやられっぱなしではゲームになりませんので、敵も破壊...
敵が弾に当たったら敵が死ぬようにすればいいのですから、[[...
敵をクリックして、次のような行を追加します。
//prog
extends SpriteChar;
while (y<$screenHeight) {
y=y+2;
if (crashTo($tama)) die();
if (crashTo($myChar)) $myChar.die();
update();
}
しかし、これで実行しても、敵は死んでくれません。
この文は「$tamaが当たったら(敵が)死ぬ」ということを意味し...
$tamaとは、設計時に作った弾(実行を止めても画面上にいるオ...
しかも$tamaは実行するとすぐ上に飛んで行って消えてしまいま...
一方、自分が撃つ弾は、実行時に新しく発生しているものなの...
そこで、実行時に作られたオブジェクトを参照するための仕組...
[[for (xx in $chars)]] {}
という文です。さっきの行を消して次のように書いてみましょ...
//prog
extends SpriteChar;
while (y<$screenHeight) {
y=y+2;
//追加
for (t in $chars) {
if ( t is Tama && crashTo(t) ) {
die();
}
}
//追加終わり
if (crashTo($myChar)) $myChar.die();
update();
}
まず、最初の行
//progfrac
for (t in $chars) {
について解説します
これは、今画面上にいる全部のオブジェクトを調べ上げて、変...
例えば、今画面に自機と敵が1つづつ、弾が2つあるとします。
すると、 for (t in $chars) {は
まずtに自機オブジェクトを代入し、{ }内の文を実行します。
それが終わると今度はtに敵オブジェクトを代入し、同様に実行...
さらに弾オブジェクトの1個目を代入し実行
さらに弾オブジェクトの2個目を代入し実行
という処理を行います。(※ただし、どのオブジェクトが何番目...
次に{}内の処理について解説します。
//progfrac
if ( t is Tama && crashTo(t) ) {
die();
}
ifの条件部が&&で区切られているので、"t is Tama"と、"crash...
t is Tama という式は、オブジェクトtのクラスがTamaである...
前述のとおり、 for (t in $chars) {は、画面上の「全部の」...
つまり ( t is Tama && crashTo(t) )は、tが弾で、その弾にぶ...
そして、この条件が成り立つと die();によって敵自身が死に...
実行してみましょう。敵を弾に当てると敵が死ぬようになりま...
***敵の爆発パターンを作る [#o403a51c]
敵にも爆発パターンつけてみましょう([[自機を破壊する>自機...
//prog
extends SpriteChar;
function onDie() {
appear(new Bomb(x , y ,$pat_Sample+4));
}
while (y<$screenHeight) {
y=y+2;
for (t in $chars) {
if ( t is Tama && crashTo(t) ) {
die();
}
}
if (crashTo($myChar)) $myChar.die();
update();
}
//@pnavi
[[←前>自機を破壊する]] [[次→>敵の動きに変化をつける]] [[...
ページ名: