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

おなまえ

Eメール
題  名  
コメント(http(s)://などのURLが含まれていると投稿できないことがあります)
添付プログラム
※プログラムに関する質問は、そのプログラムを添付して送ると対応が早くできます
添付方法...
削除キー (自分の記事を削除時に使用。英数字で8文字以内)
文字色
レミングスのようなゲーム 投稿者 : Kaze-G(d2c67c46.t-net.ne.jp)
- 2004/03/13(Sat) 17:48 No.5538
 


Download:5538.zip 5538.zip レミングスのようなゲームを開発しています。
開発中なのですべてテスト画面なのですが・・・

いま「自動で動く自機が壁に当たり、そのあたった壁の
上に更なる壁がなければその壁を乗り越えることが出来る。更なる壁があれば跳ね返る」という場面をテストしています。

しかし、自機がジャンプするだけでどうもうまくいきません。
プログラムを添付しますので、どうぞご返答お願いいたします。


Re: レミングスのようなゲーム 投稿者 : Kaze-G(d2c67c46.t-net.ne.jp)
- 2004/03/13(Sat) 18:02 No.5539
 
すみません、挨拶をわすれてしまいました。
はじめまして、Kaze-Gと申します、これからよろしく
お願いいたします。


Re: レミングスのようなゲーム 投稿者 : Kaze-G(d2c67c46.t-net.ne.jp)
- 2004/03/13(Sat) 18:47 No.5540
 
申し訳ありません、質問を2つ付け加えさせていただきます。

たとえば壁当たり判定のとき

if($map.getAt(x+2,y)==$pat_wall+0){/*あたったときの処理*/}

となりますよね。
このとき $pat_wall+0 だけでなく $pat_wall+1 や
$pat_wall+2 など、$pat_wall系列のすべての場合を
当たり対象にしたい場合はやはり「||演算子」を使い
すべての場合を記述しなければならないのでしょうか?

今回開発しているゲームの設定上。$pat_wallのOBJ数は
計り知れないものになるので、この記述の場合、もはや
この開発の仕方ではこのゲームの開発は不可能に思われます
ご返答お願いいたします。


Re: レミングスのようなゲーム 投稿者 : Kaze-G(d2c67c46.t-net.ne.jp)
- 2004/03/13(Sat) 21:50 No.5547
 
Download:5547.zip 5547.zip 申し訳ありません、製作途中にて

1.自動で動く...

の問題は解決してしまいました。


次の問題は解決できませんでした。お分かりになれる方が
いらっしゃいましたら、どうぞご返答をお願い致します。

ちなみに、テスト段階のバージョンアップ版もUPします。


Re: レミングスのようなゲーム 投稿者 : JAM(218.223.182.14.eo.eaccess.ne.jp)
- 2004/03/13(Sat) 22:29 No.5549
 
Kaze-Gさん初めましてこんばんは.
早速本題ですが,例えばwallのキャラクタパターンが$pat_wall+10まである場合なら,
if($map.getAt(x+2,y)>=$pat_wall+0 && $map.getAt(x+2,y)<=$pat_wall+10){/*あたったときの処理*/}
でどうでしょう.

もしもwall+0だけ通るとかなら
if($map.getAt(x+2,y)!=$pat_wall+0){/*あたったときの処理*/}
とかでもいいかもしれません.


Re: レミングスのようなゲーム 投稿者 : Kaze-G(d2c67c46.t-net.ne.jp)
- 2004/03/14(Sun) 08:16 No.5552
 
有難う御座います!
ついに基本的なマップ処理を完成させることが出来ました!

次はそれぞれに与えるスキルを考えて作成していこうと
おもっております。
完成品が出来ましたら、UP板の方へUPさせていただきたいと
思っております。

無題 投稿者 : 0(t110090.ap.plala.or.jp)
- 2004/03/13(Sat) 16:25 No.5537
 


ジャンプアクションで、
(→→)でダッシュをするように
したいのですがどのようにすれば
いいのですか?


Re: 無題 投稿者 : Ryota(EAOcf-91p91.ppp15.odn.ne.jp)
- 2004/03/13(Sat) 23:04 No.5550
  HomePage
質問する前に検索しましょうね。

せめて、タイトルは書きましょう。

敵が最も近い味方と一定の距離を保つように出来ないでしょうか? 投稿者 : ASH(p0113-ip01motosinmat.mie.ocn.ne.jp)
- 2004/03/13(Sat) 10:52 No.5522
 


初めまして、ASHです。

早速ですが質問です。
jiki(親クラス)に属する味方との距離が250未満なら攻撃、
そうでなければ近づくようにしたいのですが、
↓の処理だと味方が複数存在する場合には最も近い敵との距離を測ってくれません。どうしたらよいでしょうか。

while(1){
  for(j in $chars)
  if(j is jiki){
  if(dist(j.x-x,j.y-y)<250)「攻撃処理(省略)」;
  else
   {
   a=angle(j.x-x, j.y-y); 
   x+=0.5*cos(a);
   y+=0.5*sin(a);
  }
  }


Re: 敵が最も近い味方と一定の距離を保つように出来ないでしょうか? 投稿者 : hkr(p4032-ip01kyoto.kyoto.ocn.ne.jp)
- 2004/03/13(Sat) 12:04 No.5525
 
まず、最も近いjikiに属するオブジェクトを探してから距離を測りましょう。
プログラムは
while(1){
  for(j in $chars){
    if(j is jiki){
      if(dist(j.x-x,j.y-y)<jd) jd=dist(j.x-x,j.y-y);
    }
  }
  if(jd<250)[攻撃処理]
  else{
    a=angle(j.x-x, j.y-y); 
   x+=0.5*cos(a);
   y+=0.5*sin(a);
  }
  [その他処理]
  update();
}
こんな感じだと思います。これで不明、または出来ないなら
他の人のレスを待ちましょう。
ちなみにjdの名前は何でも良いです。


Re: 敵が最も近い味方と一定の距離を保つように出来ないでしょうか? 投稿者 : ASH(p6239-ip01motosinmat.mie.ocn.ne.jp)
- 2004/03/13(Sat) 20:07 No.5542
 
なるほど、jに入れたオブジェクトが前のjより近ければそれを 最も近い味方との距離jd に入れているわけですね。
試してみたところちゃんと作動しました。
有難うございます。


Re: 敵が最も近い味方と一定の距離を保つように出来ないでしょうか? 投稿者 : ASH(p6239-ip01motosinmat.mie.ocn.ne.jp)
- 2004/03/13(Sat) 20:19 No.5543
 
上の処理だとjdに最も近い味方との距離を入れた後も新たな味方を探索し、
それに近づこうとするので、
↓のように常に近い敵を探し、それに向かうようにしました。

while(1){
  for(j in $chars)
   {
    if(j is mikata)
    {
      if(dist(j.x-x,j.y-y)<jd) 
      {jd=dist(j.x-x,j.y-y);

        if(jd<250)「攻撃処理」;
        else{
             a=angle(j.x-x, j.y-y); 
             x+=cos(a);
             y+=sin(a);
            }
      }
    }
   }
  update();
}

5304より 投稿者 : おさる(YahooBB219063104083.bbtec.net)
- 2004/02/14(Sat) 21:06 No.5310
 


Download:5310.lzh 5310.lzh 質問を変えますので、新しく書きます。
オブジェクトを、ランダムに変えて配置することは出来ますか?
またもや質問がわかりにくくてすいません。


Re: 5304より 投稿者 : ごま太郎(i111097.ap.plala.or.jp)
- 2004/02/14(Sat) 21:32 No.5311
  HomePage
どのオブジェクトをランダムに配置したいのかが分かりませんが、どっちにせよ同じことだと思うのでとりあえず。
詳細はもっと詳しい方に書いてもらうとして(命令をあまり覚えてないので)簡単に。

毎フレーム動き続けるオブジェクト.tonyu---------
randomize();
while(1) {
    drawSprite(rand(),rand(),絵の番号);
update();
}
---------------------------------------------
以上。
…え? てきとうすぎる? すみませんm(_ _)m だって、命令覚えてないんですよ…(なら返信するな)

っと、randmize();で乱数をてきとうに編成。
drawでオブジェクトを描写するわけですけど、実際は画面内にちゃんと出すように乱数の範囲を細工してください。
drawのx、yに直接randを入れられたかどうか覚えてないんで、ダメだったらvxにvyとでもなんとでも入れてください。

ではでは、これで分かったらよし(無理?)。分からなければもっと詳しい方の返信を待ってください。


失礼 投稿者 : ごま太郎(i111097.ap.plala.or.jp)
- 2004/02/14(Sat) 21:49 No.5312
 
とぼけた返信してました。
drawじゃなくてappearです(用途によってはdrawでも十分だけど)。


Re: 5304より 投稿者 : おさる(YahooBB219063104083.bbtec.net)
- 2004/02/14(Sat) 22:04 No.5313
 
Download:5313.lzh 5313.lzh オブジェクトの「場所」じゃなくて「種類」をランダムに変えたいと思っているのですが…。できるでしょうか?
具体的には、+2と+15を二分の一ずつの確立で表示させたいのですが。


Re: 5304より 投稿者 : Ryota(EAOcf-223p248.ppp15.odn.ne.jp)
- 2004/02/14(Sat) 22:15 No.5314
  HomePage
if(rnd(2)){/*  +2を発生させる*/}
else{/*  +15を発生させる*/}


Re: 5304より 投稿者 : おさる(YahooBB219063104083.bbtec.net)
- 2004/02/15(Sun) 16:47 No.5320
 
発生させる…。というのはどうするのでしょうか…?
ほんとに何も分からないやつですいません。


Re: 5304より 投稿者 : hkr(p7073-ip01kyoto.kyoto.ocn.ne.jp)
- 2004/02/15(Sun) 17:32 No.5321
 
appeat(あってるかな?)を使います。詳しくはヘルプを
(説明するより分かりやすいかと)


Re: 5304より 投稿者 : いりゴマ(YahooBB220058112121.bbtec.net)
- 2004/02/15(Sun) 20:35 No.5323
 
スレッドとは関係ないですがバグがありました。
ジャンプをすると宙返りをしますが、しゃがんでるときにジャンプをするとバク宙をしてしまいます。
自分が教えておいてすみません。


Re: 5304より 投稿者 : おさる(YahooBB219063104031.bbtec.net)
- 2004/02/17(Tue) 21:10 No.5335
 
すいません。それだと、同じ位置に、大量に+2と+15の絵が出てきてしまいます。(一見そう見えないけど、そのうち「オブジェクトの数が50個を越えました。」と表示が出ます。)何か間違えているのでしょうか?


Re: 5304より 投稿者 : いりゴマ(YahooBB220058112121.bbtec.net)
- 2004/02/17(Tue) 21:33 No.5340
 
おそらく
while(1){
中略
if(rnd(2)){/*  +2を発生させる*/}
else{/*  +15を発生させる*/} 
}
となっているでしょうから、無限にオブジェクトを作ってしまいます。
一見そう見えないというのは、同じ場所に作っているからでしょう。
whileの外に出せばいいと思います。


Re: 5304より 投稿者 : おさる(YahooBB219063104031.bbtec.net)
- 2004/02/17(Tue) 22:04 No.5341
 
動くようにはなりましたが、何度やっても+15の絵が一度も表示されることがありません。何故でしょうか?


Re: 5304より 投稿者 : いりゴマ(YahooBB220058112121.bbtec.net)
- 2004/02/18(Wed) 07:50 No.5346
 
randmize();
を加えればいいです。


Re: 5304より 投稿者 : おさる(YahooBB219063104031.bbtec.net)
- 2004/02/18(Wed) 20:38 No.5349
 
Download:5349.lzh 5349.lzh 加えても出来ません・・・。ファイル添付しときます。


Re: 5304より 投稿者 : いりゴマ(YahooBB220058112121.bbtec.net)
- 2004/02/19(Thu) 07:48 No.5352
 
randomize();
if (rnd(2);) {appear(new syougai1(x,y,$pat_skeatbor+2));}
else{appear(new nagasyougai(x,y-56,$pat_skeatbor+14));}
が、
while(1) {
中略
}
の下にあるため、ループが終わらないと、この処理を実行してくれません。while(1) {の上に書けばいいです。


Re: 5304より 投稿者 : いりゴマ(YahooBB220058112121.bbtec.net)
- 2004/02/19(Thu) 07:52 No.5353
 
if (rnd(2)) 
が、
if (rnd(2);)
になっていました。すみません・・・。 


Re: 5304より 投稿者 : おさる(YahooBB219063104038.bbtec.net)
- 2004/02/21(Sat) 12:03 No.5363
 
Download:5363.lzh 5363.lzh すいません。まだ上手くいきません。実行すると、二つとも表示されます。


Re: 5304より 投稿者 : おさる(YahooBB219063104105.bbtec.net)
- 2004/03/13(Sat) 16:13 No.5535
 
すいません。何回やっても成功しないのですが・・・。
何かアドバイスをもらえないでしょうか?

無題 投稿者 : 0(t110090.ap.plala.or.jp)
- 2004/03/13(Sat) 12:57 No.5530
 


もう一つ問題が…
空中から勢いよく落下すると、
ブロックにめり込んでしまう。


Re: 無題 投稿者 : ペリー(zaqdb73fcba.zaq.ne.jp)
- 2004/03/13(Sat) 13:06 No.5532
 
if ($map.getAt(x,y+vy+24)==$pat_Block+0 )
を↓にするといいと思います
if ($map.getAt(x,y+24)==$pat_Block+0 )


Re: 無題 投稿者 : 0(t110090.ap.plala.or.jp)
- 2004/03/13(Sat) 14:42 No.5533
 
ありがとうございました。

.
[直接移動] [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]
- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

- Joyful Note -