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

おなまえ

Eメール
題  名  
コメント(http(s)://などのURLが含まれていると投稿できないことがあります)
添付プログラム
※プログラムに関する質問は、そのプログラムを添付して送ると対応が早くできます
添付方法...
削除キー (自分の記事を削除時に使用。英数字で8文字以内)
文字色
ブロックに当たると跳ね返るようにしたい 投稿者 : クローカー(YahooBB219063104105.bbtec.net)
- 2004/03/20(Sat) 17:47 No.5652
 


Download:5652.lzh 5652.lzh また質問なのですが、今度はブロックに当たると跳ね返るようにしたいと思っています。しかし、ブロックの上に当たると上向きに、
右に当たると右向きに跳ね返るというような操作が出来ません。ファイル添付します。教えていただけると嬉しいです。


Re: ブロックに当たると跳ね返るようにしたい 投稿者 : ペリー(zaqdb73fe49.zaq.ne.jp)
- 2004/03/20(Sat) 19:41 No.5653
 
ここは、管理人さん以外でも答えていいんですよね??

で、ファイルは、見ていないんですが、
ブロックの方に、

if(crashTo($弾)  //もし弾とぶつかったなら
&&$弾.y<y+20   //しかも弾のyが、ブロックの
                 //yの20下より上にあり
&&$弾.y>y)       //しかも弾のyが、ブロックより
         //下にあれば 
{die();     //死ぬ
弾.vy=-vy;}   //弾が跳ね返るはず。

多分これで、あってると思います。論理的には、
これを利用すれば、xの場合もできますよね??
初心者なのでこんな長い奴しか書けませんでした。     














Re: ブロックに当たると跳ね返るようにしたい 投稿者 : クローカー(YahooBB219063104105.bbtec.net)
- 2004/03/21(Sun) 16:21 No.5666
 
Download:5666.lzh 5666.lzh すいません。それをやってもできないのですが・・・。


Re: ブロックに当たると跳ね返るようにしたい 投稿者 : ぺリー(zaqdb73fe49.zaq.ne.jp)
- 2004/03/21(Sun) 16:57 No.5667
 
すみませんでした。初心者なもんで←無理な言い訳
下のようにすれば、しんで、下からあたってれば
下にいきます。
redのとこですよ

extends SpriteChar;
while(1){
  x=90;
  y=90;
  if(crashTo($tama))//もし弾と当たったら
  {if($tama.y>y){$tama.speedy=-$tama.speedy;}die();}
//しかも弾のyが下にあれば弾のspeedyhは、反転  
  update();
}


Re: ブロックに当たると跳ね返るようにしたい 投稿者 : クローカー(YahooBB219063104105.bbtec.net)
- 2004/03/22(Mon) 13:37 No.5676
 
ありがとうございます。出来ました!

ジャンプ中の攻撃 投稿者 : E.T(proxy01ra.so-net.ne.jp)
- 2004/03/09(Tue) 20:58 No.5490
 


E.Tです、ジャンプアクションを作っているのですが、ジャンプ中に何かのキーを押すと、落下速度が上がり、自機の下に当たり判定をつける、(普通の状態で敵を踏むと自機が死ぬ)
という事が出来ると言うのが分かっていても、どうすればいいのか
分かりません、分かる方は教えてください、お願いします。


Re: ジャンプ中の攻撃 投稿者 : hkr(p0003-ip01kyoto.kyoto.ocn.ne.jp)
- 2004/03/10(Wed) 21:01 No.5494
 
はい、本題に入ります。
落下速度を上げるのは普通に
例1:
if(getkey(?)==1){//そのキーが押されたら
  [vy]+=[1];
 [m]=1;
}else [m]=0;
こんな感じですかね。
「」内は自由に変えましょう。
当たり判定は、チュートリアルのジャンプアクションのところの
当たり判定で、死ぬときは自機が敵より少し上にいたらでは無く、
自機が敵より少し上にいて、かつ例1で使った[m]が1なら、
にすると良いでしょう。説明が不明なら、他の人の返信を待ちましょう。


Re: ジャンプ中の攻撃 投稿者 : E.T(p78bd5d.t032ah00.ap.so-net.ne.jp)
- 2004/03/21(Sun) 20:04 No.5671
 
分かりやすい説明をして下さってありがとうございます。

質問 投稿者 : suraimu(YahooBB218113076013.bbtec.net)
- 2004/03/20(Sat) 13:40 No.5647
 


質問です。
いま、アクションゲームを作っているんですが、
スペースキーで、玉をうって、カーソルキーの上でジャンプ左右で、動くようにしていて、途中までは、しっかりうごいていたのですが、左右と、ジャンプが出来なくなってしまいました。
あと、なぜか、右キーと、スペースキーを押したら玉をうてるようになってしまいました。
どこがわるいのでしょうか??
プログラム(かかなくてもいいか・・・・)
            ↓
extends SpriteChar;
while(1) {
  if (getkey(39)>0 && x<$screenWidth && $map.getAt(x+16,y)!=$pat_Block+0 ){
  
    if (getkey(37)>0 && x>0&& $map.getAt(x-16,y)!=$pat_Block+0) x=x-3;
    y+=vy; // vy: y 方向の速度。 yにvy を加える
    if ($map.getAt(x,y+24)==$pat_Bloc+0 ) { // ブロックに当たっていたら
      vy=0; // 落下速度を0にする
      if (getkey(38)) vy=-10; // 
    
  } else { // ブロックに当たっていなかったら
      vy+=0.5; // 落下速度を上げる
    }
    if (getkey(32)==1) appear(new Tama(x,y,$pat_ZcRUo+10));
  }
  update();
}
となっています。
出来るだけ早くお願いします。
あと、長々とすみませんが、つくったゲームをつけて投稿する方法が、わかりません。
どうすればよいでしょうか・・・・


Re: 質問 投稿者 : ペリー(zaqdb73fe49.zaq.ne.jp)
- 2004/03/20(Sat) 19:53 No.5655
 
いままで、教えて君だったのに生意気ですが。
チュートリアルを見ましょう
まずは、

if (getkey(39)>0 && x<$screenWidth && $map.getAt(x+16,y)!=$pat_Block+0 )

のあとの処理が、書いてありません。
後に{f==0;x+=3}と入れたらいいんじゃないんですか??
あと後の{を消してから


Re: 質問 投稿者 : hkr(p4045-ip01kyoto.kyoto.ocn.ne.jp)
- 2004/03/20(Sat) 20:13 No.5656
 
右移動ができないのは、カーソルキー右を押した時のif文の中に
右に移動する処理がかかれていないからです。左移動が出来ないのは
左移動の処理がカーソルキー右を押した時のif文のなかに入っているからです。
カーソルキー右を押しっぱなしにしていれば大丈夫です。(今のプログラムでは)
ジャンプが出来ないのも同様の理由です。ですからこれを解決するように
プログラムを組みましょう。頑張ってください。


Re: 質問 投稿者 : suraimu(YahooBB218113076013.bbtec.net)
- 2004/03/20(Sat) 21:17 No.5657
 
ありがとうございました。
あと、もう一つの質問「つくったゲームをつけて投稿する方法」が分かりません。
だれかおしえてください。


Re: 質問 投稿者 : hkr(p7082-ip01kyoto.kyoto.ocn.ne.jp)
- 2004/03/20(Sat) 21:52 No.5658
 
あ、わすれてました。(笑
まず、プログラムとか画像とかが入っているフォルダを圧縮ツールで圧縮します。
次に、添付プログラムの欄の横の参照ボタンを押し、先程圧縮したファイルを選択し、開くボタンをクリックします。
そして、文章を書いた後、投稿します。これでOKです。


Re: 質問 投稿者 : ペリー(zaqdb73fe49.zaq.ne.jp)
- 2004/03/20(Sat) 21:54 No.5659
 
えっと自分も前にしてしまったのですが、できるだけ一スレッドに、一質問らしいです。
で、仕方は、検索で、圧縮解凍ソフトで、検索でもしたら、
フリーソフトの圧縮解凍ソフトが、あるので、
(シェアウェアでもいいけど金が、かかりますし、別にフリーでもいけるので)
それをDLしてあとは、説明書どうりに、すればいいと思います。
ちなみに、ほとんどの圧縮されているファイルは、lhzかzip
形式だと思います。

自分は、lhaplus をつかってます。

弾を跳ね返らせたい 投稿者 : クローカー(YahooBB219063104105.bbtec.net)
- 2004/03/19(Fri) 20:55 No.5641
 


今弾を画面はしで跳ね返えらせようとしてるのですけど。
なかなか上手くいきません。いまは
extends SpriteChar;

while(1){
  $screenWidth=400;
  $screenHeight=600;
  speedx=2;
  speedy=2;
  x+=speedx;
  y+=speedy;
  if(x>screenWidth-16) speedx=-speedx;
  if(x<16)speedx=-speedx;
  if(y>$screenHeight-16)sppedy=-speedy;
  if(y<16)speedy=-speedy;
  update();
}
と成っています。何処が悪いのか教えて下さい。


Re: 弾を跳ね返らせたい 投稿者 : JAM(218.223.182.14.eo.eaccess.ne.jp)
- 2004/03/20(Sat) 02:09 No.5644
 
まずは
  if(x>screenWidth-16) speedx=-speedx;

  if(x>$screenWidth-16) speedx=-speedx;
に($が抜けてる) ,

  if(y>$screenHeight-16)sppedy=-speedy;

  if(y>$screenHeight-16)speedy=-speedy;
に(spped→speed) します.

そして
  speedx=2;
  speedy=2;
がwhileの中にある(=毎回実行される)ので,
それより前の行に移してやります.

なお,変数などの誤字を見つけるときには,
オブジェクトをクリックしたときのオブジェクトインスペクタに表示される変数名を見れば
見つかることがあるので,おかしいときには要チェックと言えるかもしれません.


Re: 弾を跳ね返らせたい 投稿者 : クローカー(YahooBB219063104105.bbtec.net)
- 2004/03/20(Sat) 16:46 No.5651
 
無事出来ました。ありがとうございます。

再び質問します 投稿者 : masa(ed229.AFL18.vectant.ne.jp)
- 2004/03/19(Fri) 21:57 No.5642
 


また質問させてください。
迷路ゲームの自機を作っているとき、はしごに乗っているとき横ボタンを押すと、かべにめり込んだりすり抜けたりしたので、
今までに見たものを並べて、修正しようとしたら、
今度ははしごから落下する時にたまに足が地面にめり込んで
動けなくなってしまいました。
どうしてでしょうか?教えてください。
プレイヤーキャラの設定はこんなのです。
extends SpriteChar;
while(1){
  if(getkey(39)>0&& $map.getAt(x+16,y+15)!=$pat_Maze+0)x+=3;
  if(getkey(37)>0&& $map.getAt(x-16,y+15)!=$pat_Maze+0)x-=3;
  if ($map.getAt(x,y+16)==$pat_Maze+1) y+=3;
  if ($map.getAt(x,y)==$pat_maze+2) {
  if (getkey(40)>0 && $map.getAt(x,y+16)!=$pat_Maze+0) y+=2;
  if (getkey(38)>0&& $map.getAt(x,y-17)!=$pat_Maze+1) y-=2;
  }
  update();
}


Re: 再び質問します 投稿者 : masa(ed153.AFL2.vectant.ne.jp)
- 2004/03/20(Sat) 15:16 No.5650
 
すみません。解決しました。
しかし、今度は敵を作るときに、マップを下のようにしたら
敵が床のないところでも歩いてしまうので、
このページにあるチュートリアルのアクションの敵のプログラムを
代わりにつかってみたのですが、
そうしたらはしごのところで戻ってくるようになってしまいました。
マップ

  敵
壁壁壁壁は壁壁・・・
※は=はしご

したが敵のプログラムです。
どうすればはしごでも戻らなくなったりランダムに方向転換できるようになりますか?
extends SpriteChar;
vx=2; // 進行方向
while (1) {
  if ($map.getAt(x+vx,y)==$pat_Maze+0 || $map.getAt(x+vx,y+32)!=$pat_Maze+0 ) {
// 進行方向のマップパターンがブロック、または斜め下がブロックでなかったら
    vx=-vx; // 進行方向を反転する
  }
  x+=vx; // 進行方向へ進む
  if (vx<0) f=1; else f=0; // vx が負(左向き)なら反転
  update();
}

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

- Joyful Note -