1944951
Tonyu BBS
[再読み込み] [ホームページ] [使いかた] [ワード検索] [管理用]

おなまえ

Eメール
題  名  
コメント(http(s)://などのURLが含まれていると投稿できないことがあります)
添付プログラム
※プログラムに関する質問は、そのプログラムを添付して送ると対応が早くできます
添付方法...
削除キー (自分の記事を削除時に使用。英数字で8文字以内)
文字色
拡散について 投稿者 : taba(YahooBB219051012048.bbtec.net)
- 2005/05/16(Mon) 19:57 No.8196
 


今作っているゲームは絶対に完成させたいので
質問させてください;;
前回はN@Nさんに拡散弾の飛ぶ方向を教えていただきました。
今回気付いたことなのですが、拡散後の弾が同方向に
2つでてるのです、プログラムは以下の通りです。

拡散前の弾
extends SpriteChar;
muki=$jiki3.f;  
time2=0;
time=0; 
while(1) {
  time++;
  time2++;
  if (muki==0) x+=5;
  if (time==30){ a=appear(new tama3sann(x,y,$pat_bb+15));
    a.vy=-1;  // vyを設定
    a.muki=muki;//mukiを設定
    a=appear(new tama3sann(x,y,$pat_bb+15));
    a.vy=-0.5;
    a.muki=muki;//mukiを設定
    a=appear(new tama3sann(x,y,$pat_bb+15));
    a.vy=0;
    a.muki=muki;//mukiを設定
    a=appear(new tama3sann(x,y,$pat_bb+15));
    a.vy=0.5;
    a.muki=muki;//mukiを設定
    a=appear(new tama3sann(x,y,$pat_bb+15));
    a.vy=1; 
    a.muki=muki;//mukiを設定
 die();  }//自機が右を向いた時に発射された弾
  if (muki==1) {x-=5;f=1;}
  if (time2==30){ a=appear(new tama3sann(x,y,$pat_bb+30));
    a.vy=-1;  // vyを設定
    a.muki=muki;//mukiを設定
    a=appear(new tama3sann(x,y,$pat_bb+30));
    a.vy=-0.5;
    a.muki=muki;//mukiを設定
    a=appear(new tama3sann(x,y,$pat_bb+30));
    a.vy=0;
    a.muki=muki;//mukiを設定
    a=appear(new tama3sann(x,y,$pat_bb+30));
    a.vy=0.5;
    a.muki=muki;//mukiを設定
    a=appear(new tama3sann(x,y,$pat_bb+30));
    a.vy=1;
    a.muki=muki;//mukiを設定
  die(); }//自機が左を向いた時に発射された弾
  if ($map.getAt(x,y)==$pat_aa+0) die(); 
  update();
}

拡散後の弾

extends SpriteChar;
while(x>0) {
 if (muki==0) x=x+7;
y=y+vy; f=0;// この行を追加。 vy だけ縦に移動
if (muki==1)x=x-7; y=y+vy; 
 if ($map.getAt(x,y)==$pat_aa+0) die(); 
  update();
}

おかしいように見えないのですが
どこがいけないのでしょう?


Re: 拡散について 投稿者 : xsb007(YahooBB221044056135.bbtec.net)
- 2005/05/16(Mon) 21:27 No.8200
 
extends SpriteChar;
muki=$jiki3.f;  
f=0;
time=30; 
while(1) {
  time--;
  if (muki==0) x+=5;
  if (muki==1) {x-=5; angle=180;}

/////////////// *S* /////////////////////////  
  if (time==0){ 
    a=appear(new tama3sann(x,y,$pat_bb+15));
    a.vy=-1;  // vyを設定
    a.muki=muki;//mukiを設定
    a=appear(new tama3sann(x,y,$pat_bb+15));
    a.vy=-0.5;
    a.muki=muki;//mukiを設定
    a=appear(new tama3sann(x,y,$pat_bb+15));
    a.vy=0;
    a.muki=muki;//mukiを設定
    a=appear(new tama3sann(x,y,$pat_bb+15));
    a.vy=0.5;
    a.muki=muki;//mukiを設定
    a=appear(new tama3sann(x,y,$pat_bb+15));
    a.vy=1;
    a.muki=muki;//mukiを設定
    die();
  }
/////////////// *E* /////////////////////////

  if ($map.getAt(x,y)==$pat_aa+0) die(); 
  update();
}


// *S* と *E* の間が二回繰り返されています。 //
// そこは一回でいいです。                    //


Re: 拡散について 投稿者 : taba(YahooBB219051012048.bbtec.net)
- 2005/05/17(Tue) 19:57 No.8206
 
できました!ありがとうございました。
これから質問することが多くなりそうですが
よろしくお願いしますm(_ _)m

涙ス 投稿者 : DEI(i219-165-199-170.s02.a023.ap.plala.or.jp)
- 2005/05/14(Sat) 18:34 No.8185
 


Download:8185.lzh 8185.lzh すいません!!
このタイプで横に動きながら敵を出し
30発ぐらいで死ぬボスの作り方が分かりません・・・・
誰か教えてください・・・


Re: 涙ス 投稿者 : DEI(i219-165-199-48.s02.a023.ap.plala.or.jp)
- 2005/05/15(Sun) 13:21 No.8186
 
スイマセン!!
extends SpriteChar;
vx=2; // 進行方向
a=newAnimation(); // AnimationAdapterを作成
a.loop($pat_Enemy1+0,$pat_Enemy1+1,10); // 敵の2つのパターンを往復するアニメーション
while (1) {
  if (crashTo($snowMan)) {
    // 自機とぶつかったら
    if ( $snowMan.y < y-8 && $snowMan.vy>0 ) {
      // 自機は敵より少し上にいて、下方向に速度をもっているならば
      die(); // 敵が死ぬ
      $snowMan.vy=-5; // 自機がはねあがる
    } else {
      $snowMan.die(); // そうでなければ自機が死ぬ
      $projectManager.loadPage($page_start);
   }
  }
  for (t in $chars) {//$tamaというオブジェクトがないためページ内の弾を検知
    if (t is Tama && crashTo(t)) {
      die();  //死亡
      t.die();//弾も消去
    }
  }
  if ($map.getAt(x+vx,y)==$pat_Block+0 || $map.getAt(x+vx,y+32)!=$pat_Block+0) {
    // 進行方向のマップパターンがブロック、または斜め下がブロックでなかったら
    a.pause(); // 待機前にアニメーションを止める
    updateEx(30); // 30フレーム待機
    a.resume(); // 待機後にアニメーション再開
    vx=-vx; // 進行方向を反転する
  }
  x+=vx; // 進行方向へ進む
  if (vx<0) f=1; else f=0; // vx が負(左向き)なら反転
  update();
}
のなかに
function appearEnemy() {
   if (rnd(70)==0) appear(new ;(x,y,$pat_Sample+2));
}

function atariHantei() {
  for (t in $chars) {
   if ( t is Tama && crashTo(t) ) {
     // もし弾 t にぶつかったら
     life=life-1;  //体力をへらす
     t.die();      //当たった弾をけす
     if (life<1) die();   //もし体力がなくなったら死ぬ
   }
  }
}
をどこに入れるといいのですか?
教えてください!!


Re: 涙ス 投稿者 : xsb007(YahooBB221044056135.bbtec.net)
- 2005/05/15(Sun) 21:21 No.8192
 
Download:8192.lzh 8192.lzh こんなもんでしょうか?


Re: 涙ス 投稿者 : DEI(i60-42-219-197.s02.a023.ap.plala.or.jp)
- 2005/05/16(Mon) 21:57 No.8201
 
xsb007さんありがとうございました!!

質問です。 投稿者 : よー(p1081-ipbf211kyoto.kyoto.ocn.ne.jp)
- 2005/05/15(Sun) 19:30 No.8190
 


横スクロールアクションを作っていて、キーボードの↓を押すとしゃがむようにしようと、記事NO. 5294を参考にして作ってみたのですが、自機が消えたり全く別のオブジェクトが出てきたりします。何故でしょう?
ソースは以下の通りです。

extends SpriteChar;

$map.setBGColor(color(0,200,255)); // 背景色を設定
anim=newAnimation();
while (1) {
  anim.pause();
 
 
 if ($map.getAt(x,y-24)==$pat_Block+0 ) {  //上にブロックがあるとき
  vy=1;  //それ以上、上に行かないようにする
}

if (getkey(39) && $map.getAt(x+16,y)!=$pat_Block+0) {
    x+=3;
    f=0;
    anim.swing($pat_Jiki+0,$pat_Jiki+3,5);
  }
  // ↑ カーソルキー右が押され、さらに右側が壁でなければ右へ移動
  if (getkey(37) && $map.getAt(x-16,y)!=$pat_Block+0) {
    x-=3;
    f=1;
    anim.swing($pat_Jiki+0,$pat_Jiki+3,5);
  }
  // ↑ カーソルキー左が押され、さらに左側が壁でなければ左へ移動
  y+=vy; // vy: y 方向の速度。 yにvy を加える
  if ($map.getAt(x,y+25)==$pat_Block+0 ){ // ブロックに当たっていたら
    
     vy=0; // 落下速度を0にする
     if (getkey(38)) vy=-10; // ↑カーソルキー上を押したらジャンプ
  } else { // ブロックに当たっていなかったら
     vy+=0.5; // 落下速度を上げる
  }
    
 $map.scrollTo(x-$screenWidth/2,0); // 自分が中央になるようにスクロール
 if(getkey(37)) x-=1; // 左
 if (getkey(39)) x+=1;//右
 if (getkey(40)>0) {anim.pause();p=$pat_JikiShagami+11;}

 update();
}

以上です。
『Jiki』と書いてあるのが自機で、『JikiShagami』と書いてあるのが↓キーを押した後のしゃがんだオブジェクトです。
よろしくお願いします。


Re: 質問です。 投稿者 : xsb007(YahooBB221044056135.bbtec.net)
- 2005/05/15(Sun) 20:46 No.8191
 
ヘルプには、anim.pause();してから、p=$pat_JikiShagami+11;すればいいように書いてありますが、ダメです。

正しくはこちら
{anim.play($pat_JikiShagami+11); anim.pause();}


Re: 質問です。 投稿者 : よー(p1081-ipbf211kyoto.kyoto.ocn.ne.jp)
- 2005/05/15(Sun) 22:18 No.8193
 
あ、ありがとうございます! これで出来そうです!

敵について 投稿者 : DEI(i60-42-192-74.s02.a023.ap.plala.or.jp)
- 2005/05/08(Sun) 15:03 No.8160
 


Download:8160.lzh 8160.lzh こんにちはーDEIです〜〜!
チョット質問です・・・
ジャンプアクションを今改造しながら作っていますが・・・・・
じきを見つけると追尾する敵の作り方が全く分かりません!(TAT)
誰か教えてください・・・・・


Re: 敵について 投稿者 : DEI(i60-42-192-74.s02.a023.ap.plala.or.jp)
- 2005/05/08(Sun) 15:08 No.8162
  HomePage
・・・・・・・・上と同じです・・・・・・・・


Re: 敵について 投稿者 : xsb007(YahooBB221044056135.bbtec.net)
- 2005/05/08(Sun) 17:21 No.8164
 
Download:8164.lzh 8164.lzh
これでできます。

extends DxChar;

Speed=1+rnd()*1.5; //ランダムにしないと一箇所に集まって
                   //一発で全部やられる。


while(1) {
  ax=$SnowMan.x-x;
  ay=$SnowMan.y-y;
  
  adist=dist(ax,ay);
  
  if (adist) { //ゼロ割り防止
    vx=ax*speed/adist;
    vy=ay*speed/adist;
  }
  
  x+=vx;
  y+=vy;
  
  for (t in $chars) {
    if ( t is Tama && crashTo(t) ) die();
  }
  if (crashTo($SnowMan)) $SnowMan.die();
  
  
  angle=angle(vx,vy)+90;
  update();
}


Re: 敵について 投稿者 : DEI(i219-165-201-28.s02.a023.ap.plala.or.jp)
- 2005/05/09(Mon) 21:12 No.8170
 
すいません!
あとじきがある程度接近すると追尾する敵のつくりかたをおしえて
下さい!!
ありがとうございました!!


Re: 敵について 投稿者 : xsb007(YahooBB221044056135.bbtec.net)
- 2005/05/09(Mon) 22:18 No.8171
 
下記のように追加してください。
  
  if (adist) { //ゼロ割り防止
    vx=ax*speed/adist;
    vy=ay*speed/adist;
  }
  
/////////////// 追加部分 ここから ///////////////////
  if (adist>/* 追尾までの距離を記入 */) {
    vx=0;
    vy=0;
    /* ここに追尾前の動作を記入 */
  }  
/////////////// 追加部分 ここまで ///////////////////

  x+=vx;
  y+=vy;


Re: 敵について 投稿者 : DEI(i219-165-199-170.s02.a023.ap.plala.or.jp)
- 2005/05/14(Sat) 18:26 No.8184
 
すいません!!
止まっているときはどう入力すればいいのですか?
追尾のことはありがとうございました!!


Re: 敵について 投稿者 : DEI(i219-165-199-48.s02.a023.ap.plala.or.jp)
- 2005/05/15(Sun) 13:25 No.8188
 
if (adist>/* 追尾までの距離を記入 */) {
    vx=0;
    vy=0;
    /* ここに追尾前の動作を記入 */
  }  
これじゃ良くわかりません・・・
サンプルをつけて下さい・・・・・
スイマセン!!


Re: 敵について 投稿者 : xsb007(YahooBB221044056135.bbtec.net)
- 2005/05/15(Sun) 13:50 No.8189
 
extends DxChar;

Speed=1+rnd()*1.5;




while(1) {
  ax=$SnowMan.x-x;
  ay=$SnowMan.y-y;
  
  adist=dist(ax,ay);
  
  if (adist) { //ゼロ割り防止
    vx=ax*speed/adist;
    vy=ay*speed/adist;
  }
  

  if (adist>150) {
    vx=-speed;
    vy=0;
  }
  x+=vx;
  y+=vy;
  

  
  for (t in $chars) {
    if ( t is Tama && crashTo(t) ) die();
  }
  if (crashTo($SnowMan)) $SnowMan.die();
  
  
  angle=angle(vx,vy)+90;
  update();
}

でどうですか。

拡散弾について 投稿者 : taba(YahooBB219051012048.bbtec.net)
- 2005/05/12(Thu) 23:55 No.8180
 


Download:8180.lzh 8180.lzh 自分では解決できないのでどうすればよいのかおしえてください。
拡散弾は向いてる方向に撃てるのですが、拡散する時に
反対を向くとそちらの方に拡散するのです。
いじってみましたが直りませんでした。
添付するので良ければ見てください。
操作方法はカーソル移動、Zで射撃、Xでボムです。
なお、製作中なのでキャラが3体同時に出てきますが
気にしないでください。


Re: 拡散弾について 投稿者 : N@N(cc-hc018.hc.cc.keio.ac.jp)
- 2005/05/13(Fri) 11:00 No.8181
  HomePage
Download:8181.zip 8181.zip tama3が、tama3sannを生成するようですが、
tama3sannの最初に
muki=$jiki3.f;
と書いてあります。つまり、生成された瞬間にもう一度自機の向きを読み込んでしまうのです。
tama3の向きを継続したいなら、生成するときにtama3の向きをtama3sannに渡す必要があります。

今、a.vy=-1;でvyを渡してありますが、a.muki=muki;を加えてmukiも渡します。tama3sannのmuki=$jiki3.f;は取り除いてあります。


Re: できました! 投稿者 : tana(YahooBB219051012048.bbtec.net)
- 2005/05/13(Fri) 22:47 No.8183
 
N@Nさんありがとう御座います!
これでようやく先に進みそうです。

.
[直接移動] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180] [181] [182] [183] [184] [185] [186] [187] [188] [189] [190] [191] [192] [193] [194] [195] [196] [197] [198] [199] [200] [201] [202] [203] [204] [205] [206] [207] [208] [209] [210] [211] [212] [213] [214] [215] [216] [217] [218] [219] [220] [221] [222] [223] [224] [225] [226] [227] [228] [229] [230] [231] [232] [233] [234] [235] [236] [237] [238] [239] [240] [241] [242] [243] [244] [245] [246] [247] [248] [249] [250] [251] [252] [253] [254] [255] [256] [257] [258] [259] [260] [261] [262] [263] [264] [265] [266] [267] [268] [269] [270] [271] [272] [273] [274] [275] [276] [277] [278] [279] [280] [281] [282] [283] [284] [285] [286] [287] [288] [289] [290] [291] [292] [293] [294] [295] [296] [297] [298] [299] [300] [301] [302] [303] [304] [305] [306] [307] [308] [309] [310] [311] [312] [313] [314] [315] [316] [317] [318] [319] [320] [321] [322] [323] [324] [325] [326] [327] [328] [329] [330] [331] [332] [333] [334] [335] [336] [337] [338] [339] [340] [341] [342] [343] [344] [345] [346] [347] [348] [349] [350] [351] [352] [353] [354] [355] [356] [357] [358] [359] [360] [361] [362] [363] [364] [365] [366] [367] [368] [369] [370] [371] [372] [373] [374] [375] [376] [377] [378] [379] [380] [381] [382] [383] [384] [385] [386] [387] [388] [389] [390] [391] [392] [393] [394] [395] [396] [397] [398] [399] [400] [401] [402] [403] [404] [405] [406] [407] [408] [409] [410] [411] [412] [413] [414] [415] [416] [417] [418] [419] [420] [421] [422] [423] [424] [425] [426] [427] [428] [429] [430] [431] [432] [433] [434] [435] [436] [437] [438] [439] [440] [441] [442] [443] [444] [445] [446] [447] [448] [449] [450] [451] [452] [453] [454] [455] [456] [457] [458] [459] [460] [461] [462] [463] [464] [465] [466] [467] [468] [469] [470] [471] [472] [473] [474] [475] [476] [477] [478] [479] [480] [481] [482] [483] [484] [485] [486] [487] [488] [489] [490] [491] [492] [493] [494] [495] [496] [497] [498] [499] [500] [501] [502] [503] [504] [505] [506] [507] [508] [509] [510] [511] [512] [513] [514] [515] [516] [517] [518] [519] [520] [521] [522] [523] [524] [525] [526] [527] [528] [529] [530] [531] [532] [533] [534] [535] [536] [537] [538] [539] [540] [541] [542] [543] [544] [545] [546] [547] [548] [549] [550] [551] [552] [553] [554] [555] [556] [557] [558] [559] [560] [561] [562] [563] [564] [565] [566] [567] [568] [569] [570] [571] [572] [573] [574] [575] [576]
- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

- Joyful Note -