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

おなまえ

Eメール
題  名  
コメント(http(s)://などのURLが含まれていると投稿できないことがあります)
添付プログラム
※プログラムに関する質問は、そのプログラムを添付して送ると対応が早くできます
添付方法...
削除キー (自分の記事を削除時に使用。英数字で8文字以内)
文字色
弾の処理 投稿者 : あっくん(p7157-adsao04atuta2-acca.aichi.ocn.ne.jp)
- 2004/10/11(Mon) 09:17 No.7297
 


弾がマップにぶつかると弾を消すという風にしたいのですが、うまくいきません。どなたか教えてください。
tama

extends SpriteChar;
ang=angle(vx,vy+n);
n=0; //この数値を変えれば向きが変わる
spd=8; //この数値を大きくすると早くなる
while(1) {
  x+=sin(ang)*spd;
  y+=cos(ang)*spd;
  if ($map.getAt(x,y)!=$pat_ima+0) die(); 
  update();
  }  


Re: 弾の処理 投稿者 : ごま太郎(i60-35-28-80.s02.a001.ap.plala.or.jp)
- 2004/10/11(Mon) 18:54 No.7301
  HomePage
…っと、どんな具合にうまくいかないのでしょうか?
見た感じではちゃんと弾は消えそうですね。
弾がマップに食い込むということでしたら、
if ($map.getAt(x-12,y)!=$pat_ima+0 || $map.getAt(x+12,y)!=$pat_ima+0 ||$map.getAt(x,y-12)!=$pat_ima+0 || $map.getAt(x,y+12)!=$pat_ima+0) die(); 
とかします。
ちなみに、判定のx+12とかy-12とかの12はてきとーに入れただけですので、弾の画像のサイズに合わせて正しい値を入れてください。

x側に加えるものは画像の横幅/2
y側は画像の縦幅/2


Re: 弾の処理 投稿者 : 武良(EATcf-735p1-229.ppp15.odn.ne.jp)
- 2004/10/12(Tue) 02:32 No.7302
 

どう上手くいかないのか説明しましょうね。

if ($map.getAt(x,y)!=$pat_ima+0) die(); 

このif文が != と否定条件になってます。
(条件じゃないとき〜を実行)

if ($map.getAt(x,y)==$pat_ima+0) die(); 
 
 というふうに、== に直せばOKだと思います。

たぶん・・・。ん?間違ってるかな?
上手くいったら報告お願いします。





Re: 弾の処理 投稿者 : あっくん(p7157-adsao04atuta2-acca.aichi.ocn.ne.jp)
- 2004/10/12(Tue) 07:53 No.7303
 
Download:7303.zip 7303.zip まだ、うまく動きません。
問題のファイルを添付しておきます。


Re: 弾の処理 投稿者 : 武良(EATcf-634p17.ppp15.odn.ne.jp)
- 2004/10/12(Tue) 10:20 No.7304
 

 壁の画像パターンが $pat_ima+4 なので

if ($map.getAt(x,y)==$pat_ima+4) die(); 

 と直したらうまくいきました。


Re: 弾の処理 投稿者 : あっくん(p7157-adsao04atuta2-acca.aichi.ocn.ne.jp)
- 2004/10/12(Tue) 18:56 No.7306
 
ありがとうございます。うまくいきました。
これからも、どうかよろしくお願いします。

指定した座標へのスクロール 投稿者 : ごま太郎(i218-47-114-146.s02.a001.ap.plala.or.jp)
- 2004/10/11(Mon) 14:08 No.7298
  HomePage


Download:7298.zip 7298.zip 現在、スクロール命令を作っていましてどうもうまくいかないので、意見をお願いいたします。
function CNT(n1,n2,n3) {//座標(n1,n2)へ速度n3でスクロールする
  //n1=x座標
  //n2=y座標
  //n3=速度
  var w,h,d,vx,vy; //画面横中央、画面縦中央、画面中央から指定座標までの距離、x側への速度、y側への速度
  w=$viewX+$screenWidth/2;
  h=$viewY+$screenHeight/2;
  d=dist(w-n1,h-n2); //画面中央から指定座標までの距離
  vx=-(w-n1)/d*n3;
  vy=-(h-n2)/d*n3;
  while($viewX+width/2!=n1 && $viewY+height/2!=n2) { //中心座標が指定座標になってなければ
    $map.scrollTo($viewX+vx,$viewY+vy);
    update();
  }
}

座標によって、この命令がうまくいったりいかなかったりします。
角度の問題かな…というのが印象なのですが、別のやり方や対処法をお願いいします。


Re: 指定した座標へのスクロール 投稿者 : hkr(gta.kinet-tv.ne.jp)
- 2004/10/11(Mon) 14:30 No.7299
 
vxやvyが□.○○○○○○○○○.....という風になるときに上手くいかないとだと思います。
そうすると、最終的に座標が若干ずれてwhile文の判定が上手くいかなくなってしまうということだと思われます。
まず半径どのくらいまでずれるのか(最高で)を調べて、while文を、
while(dist($viewX+width/2-n1,$viewY+height/2-n2)<ずれる数値){
という風にすると上手くいくと思います。(ずれの数値はどうにかして調べます。(笑)


Re: 指定した座標へのスクロール 投稿者 : ごま太郎(i60-35-28-80.s02.a001.ap.plala.or.jp)
- 2004/10/11(Mon) 18:50 No.7300
  HomePage
あう…小数点なんて嫌いだい!(何)
小数点以下を切り捨ててもう少し数値を分かりやすくしたほうがいいかもしれませんね。
目で見た限りでは45度あたりはうまくいきそうな。
くずれる数値は…めんどいからてきとーな数字で(オイ)

こうして、命令を次々と加えていくのはいいけれども、道具システムなんかはまだ完成してないので後ほどかなり修正がいりそうな嫌〜な予感が^^;
ありがとうございましたm(_ _)m


Re: 指定した座標へのスクロール 投稿者 : ごま太郎(i60-35-42-247.s02.a001.ap.plala.or.jp)
- 2004/10/12(Tue) 17:53 No.7305
  HomePage
無事解決報告
誤差は、小数点切捨てで30近くまでありました。
正確に動く角度でのスクロールは少し誤差が大きいか…。
方法は上記のものでオッケーでした。
あ、一つ修正
「>くずれる最高の値」です。ま…今後、検索でひっかかった人向け情報でした。

効果音 投稿者 : Dolphin(YahooBB220046180020.bbtec.net)
- 2004/10/08(Fri) 20:20 No.7282
 


今シューティングゲームを作っているんですが、
敵がやられたとき効果音を鳴らすと極端に重くなりますが、
これって何とかならない物なのでしょうか?
ちなみにSEの容量は2,19KBです。


Re: 効果音 投稿者 : hoge-(ppp02.kake.info.waseda.ac.jp)
- 2004/10/08(Fri) 20:31 No.7283
 
おそらく、効果音が原因でなく、他の原因が考えられます。
(爆発のエフェクトが重いなど)

原因が見当たらない場合は、ファイル(効果音ふくめ、プロジェクト全体)を添付してください


Re: 効果音 投稿者 : ごま太郎(i60-35-35-114.s02.a001.ap.plala.or.jp)
- 2004/10/08(Fri) 21:51 No.7286
  HomePage
個人的には、私も効果音を使うと重くなると思っているので一案w
 ・とにかく軽いWAVEを使う
 ・MTwoで効果音を作る
 ・高速のパソに買い換える

効果音だけならばそうそうひどく重くなりはしないようですが、シューティングでやたらと音を鳴り響かせると変なことになったりしますw

MTwoはTonyuでうんたらして再生するとやらで、手元ファイルで最高midiの二倍のFPSが得られるという驚異の実行速度w ただ…これで効果音を作るのはさすがに難しいかな?^^;


Re: 効果音 投稿者 : Dolphin(YahooBB220046180020.bbtec.net)
- 2004/10/09(Sat) 11:45 No.7287
 
サウンドを切ると60FPS前後で動きますので、
効果音が原因だと思います。
MTwoを使うのも検討してみますが・・・。
ちなみに私のPCは性能が結構悪いのでそれのせいでもあるかもしれません。


Re: 効果音 投稿者 : Dolphin(YahooBB220046180020.bbtec.net)
- 2004/10/09(Sat) 11:53 No.7288
 
Download:7288.lzh 7288.lzh 一応添付しました。


Re: 効果音 投稿者 : hoge-(210-20-66-85.rev.home.ne.jp)
- 2004/10/09(Sat) 15:05 No.7291
 
動かしてみましたが、特に遅くなる傾向は見られません。

後でもっと遅いマシンでも試してみます。

なお、効果音に関しては、MTwoで作っても、ほかのツールで作っても、ダウンロードしてきても速度は理論上かわりません(どれもwaveファイルを鳴らしているだけです)

BGMは、MIDIとMTwoで処理速度に差が出る場合もあります。


Re: 効果音 投稿者 : ごま太郎(i219-167-98-142.s02.a001.ap.plala.or.jp)
- 2004/10/09(Sat) 18:13 No.7295
  HomePage
余談ですが、
>効果音に関しては、MTwoで作っても、ほかのツールで作っても、ダウンロードしてきても速度は理論上かわりません
については、メールの返事もかねているととらせていただきます♪
midi→wave→MTwoとかを考えていたり(笑)

で、私の環境でも速度はそれほど遅くなりませんでした。
Crusoe600MHzを300MHzに規制した状態でFPS20〜30程度。
時折、こういう動作については訳が分からない動作を行うこともある気がしますが、ためしに新しいプロジェクトで作り直してみてはいかがでしょうか?
その他は…意味があるかどうか微妙ですが、スキャンディスク・でフラグなど(苦笑)

オブジェクト名 投稿者 : ごま太郎(i218-47-109-70.s02.a001.ap.plala.or.jp)
- 2004/10/08(Fri) 18:51 No.7280
  HomePage


get系メソッドで、クラスネームを取得できるのがあるのは分かるのですが、オブジェクト名($teki1,$teki2 etc...)を取得する命令はあるでしょうか。
シューティングにおける敵や弾のような複数生成されるオブジェクトにおいて利用したいと考えています。


Re: オブジェクト名 投稿者 : hoge-(ppp02.kake.info.waseda.ac.jp)
- 2004/10/08(Fri) 20:34 No.7284
 
残念ながら、ありません。というよりかは、

   オブジェクトに「名前」はありません。

あるオブジェクトが、グローバル変数から参照されているとあたかも名前があるように見えますが、それは変数に名前があるだけで、変数が指しているものには名前がありません。

>シューティングにおける敵や弾のような複数生成されるオブジェクトにおいて

どのような利用をお考えでしょうか。詳しくご説明ください。


Re: オブジェクト名 投稿者 : ごま太郎(i60-35-35-114.s02.a001.ap.plala.or.jp)
- 2004/10/08(Fri) 21:47 No.7285
  HomePage
アップロードセンター記事No,2973の「ごま太郎サンプルシリーズ」において、弾系列のオブジェクト($弾,$弾2,$弾3)の変数gunner,targetに発生元のオブジェクトが変数を送っていますが($自機,$自機2,$自機3のスペースキー)、その際、コピペが楽になるようgunnerには発生元のオブジェクト名(?)を自動的に代入できるようにしたいと思っています。

現在はクラス名「自機」なので、弾.target=$自機;としてますが、クラス名「MYCHAR」などに自機を変更した場合にいちいち書き換える必要がないようにしたいと思っています。

また、現在作成中の迷路ゲームでは
 フレームマネージャー→マップメーカー→自機、各種オブジェクト
という順序でオブジェクトに生成させているため(初期状態ではフレームマネージャーのみが存在している)、各オブジェクトを指定するさいに毎度毎度for文を使う必要があるため、グローバル変数に主人公などの主要オブジェクトのオブジェクト名(?)を代入して手間を削減したいと思っています。
なにかいい方法がないか、よろしくお願いいたします。


Re: オブジェクト名 投稿者 : hoge-(210-20-66-85.rev.home.ne.jp)
- 2004/10/09(Sat) 16:53 No.7292
 
>現在はクラス名「自機」なので、弾.target=$自機;としてますが、クラス名「MYCHAR」>などに自機を変更した場合にいちいち書き換える必要がないようにしたいと思っています。

こういうときはthisを使うのが最適です。

弾.gunner=$自機3;
は、
弾.gunner=this;  // gunnerに「自分自身」を代入

と書けます。



Re: オブジェクト名 投稿者 : hoge-(210-20-66-85.rev.home.ne.jp)
- 2004/10/09(Sat) 16:57 No.7293
 

>グローバル変数に主人公などの主要オブジェクトのオブジェクト名(?)を代入して手間を削減したいと思っています。

例えば、次のような書き方も可能です。これで、新しくできた自機は $自機 で参照できます。

$自機=appear(new 自機());


Re: オブジェクト名 投稿者 : ごま太郎(i219-167-98-142.s02.a001.ap.plala.or.jp)
- 2004/10/09(Sat) 18:05 No.7294
  HomePage
おお、なるほど!
ありがたく使わせていただきます。
おかげでだいぶ労力が削減できそうです。
ありがとうございましたm(_ _)m

クリック 投稿者 : ゆきだるま(61-26-184-12.rev.home.ne.jp)
- 2004/10/09(Sat) 13:33 No.7289
 


はじめましてゆきだるまと言います。

いまあるゲームを作っているのですが
オブジェクト『hosi』をクリックしたら

オブジェクト星はクリックしたのと反対方向
(例えば下をクリックしたら上へ、右下をクリックしたら
左上へなど・・・)へ跳ね返るという処理がどうしてもできないのですがどうしたらいいのでしょう?


Re: クリック 投稿者 : N@N(actkyo141103.adsl.ppp.infoweb.ne.jp)
- 2004/10/09(Sat) 14:54 No.7290
 
Download:7290.lzh 7290.lzh こんなサンプルはどうでしょう。
マウスについて回るオブジェクトを使わない方法です。
hoshiだけで、方向や当たり判定など全て判断しています。

.
[直接移動] [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 -