お前らRPGツクールでゲーム作れって LAWルート (388レス)
上下前次1-新
302(3): 287 2009/06/03(水)20:00 ID:DN3lndS0(1) AAS
そんな賢い方法は全然思いつかなかった。。。
その技を使わせてもらった上でうp
外部リンク:www1.axfc.net
あと、ウェイト0.0を2個から3個に増やした
この調子だと、もっと無駄な処理がありそうだ。
303: ◆vipRGqvJxg 2009/06/03(水)20:47 ID:htRtfSaV(1) AAS
>>302
>>298よりさらに凄くなってて吹いたわ
そんなウェイト多用しなくてもいいと思うけどなあ
重いならまず弾更新処理の命令数を少なくしたらいいと思う
弾の数×命令数だから、一つ減らすだけでも相当軽減できる
304(1): 2009/06/03(水)23:29 ID:gcBfyDz3(1/2) AAS
>>302
見たよ!
まず三角関数に無駄が多すぎる。どうして皆そういう組み方を
するんだろう。
sin,cosには360個ずつの変数を使って大胆にテーブルを作れば、
手間をかけて処理を組まなくて済むし、しかもステップ数も
大幅に抑えられて一石二鳥。変数は、2万個くらいまでなら
ジャブジャブ使っても大丈夫らしいから気にしなくていい(ソース:テク研)。
tanは値域が実数全体なので、近似しにくい。atanがあればtanは必要ないので、
atanを作る(これもテーブルで作る)。しかもatanの方が近似しやすい。
省3
305(1): 2009/06/03(水)23:37 ID:gcBfyDz3(2/2) AAS
ifでの分岐のさせ方は、
if(*){}
if(*){}
:
:
こんなふうに1個ずつ並べて書いてあるけど、これは無駄が多いので、
二分探索で組めるところは二分探索で組む。
角度を0〜359に戻す方法は、条件分岐を使わなくても、
theta=(theta%360+360)%360;(消費ステップ3)と計算すれば、
thetaがどんな値であっても、一発で0〜359に戻る。
省11
306(2): ◆vipRGqvJxg 2009/06/04(木)19:36 ID:B8BQMala(1) AAS
自分もSTGうp
ゲサロに上げたやつのまんまだけど
処理を軽くして>>299で言った欠点を直した
外部リンク[zip]:island.geocities.jp
>>302
弾更新処理で更新番号加算しまくってる部分は
ゲーム開始時に例えば変数781〜792にそれぞれ1〜12を代入しておいて
弾更新処理で
更新番号番号の変数を更新番号に代入した直後のところで、781〜792に更新番号を加算
「更新:ピクチャー」から「更新:ダメージ」までは781〜792の番号の変数を代入
省3
307: 287 2009/06/04(木)20:58 ID:hzozrU5a(1) AAS
>>304-305
極めすぎww
とりあえず全部真似してみる。
今までなるべく変数使わないようにしてたから方針を変えようと思った。。
あと参考にして他にも思いついた事もあるから、最初から作り直すことにする
>>306
リンクが準備中になってて見れない・・
更新番号の処理は「弾幕」の処理を見てみて何とか理解した
308: ◆vipRGqvJxg 2009/06/05(金)22:46 ID:1fz9Pofp(1) AAS
右クリックで保存かアドレス直貼りで保存できるよ
309(1): 287 2009/06/06(土)02:00 ID:y+xOvpf4(1) AAS
>>306
なかなか良いと思う
けど処理方法が違いすぎて仕組みが分からない
マップを動かすSTGとかを作るときは
EV0001を座標(0,0)に置いといて
X={(更新する奴の画面X)-(EV0001の画面X)+8 }/16
Y={(更新する奴の画面Y)-(EV0001の画面Y)+16}/16
で地形ID取得すると更新する奴の位置の地形を判定できた気がする(違ったかも
便利だからよく使ってた
310: ◆vipRGqvJxg 2009/06/06(土)21:21 ID:CwNqJXM+(1) AAS
>>309
その方法いいなあ
自分の場合
初期位置のY座標を変数Aに代入して
上へ1スクロールする度に1減算してた
X=キャラ画面X/16
Y=(キャラ画面Y/16)-8+変数A
って感じで
311(3): 287 2009/06/20(土)04:54 ID:cypE1GNn(1) AAS
60fpsはきついかー
外部リンク:www1.axfc.net
312: 2009/06/20(土)10:47 ID:IrWZy+Ag(1/4) AAS
>>311
おー、かなり軽くなってる。自分のPCでは青レーザー乱射地帯だけ
少し処理落ちした。
さらに軽量化するとしたら、ピクチャーの「表示」をしないことかな。
これは重いので、いっぺんに多用すると良くない。一旦表示したピクチャーは
その画像で固定して使う。ただ、これをやると弾の種類が限られてしまうが。
あと、atanの作り方に無駄が多い。tanの配列から取得してるのが良くない。
atanの配列を作ってそこから取得すれば、そもそもtanの配列は必要ない。
313(1): 2009/06/20(土)11:05 ID:IrWZy+Ag(2/4) AAS
AA省
314(1): 287 2009/06/20(土)17:14 ID:EiZ+vaXy(1/2) AAS
>>313
atanの配列というのが良くわからん
エクセルでその配列を入力してみたら
-45〜45ででたけどこれで合ってる?
315: 2009/06/20(土)19:14 ID:IrWZy+Ag(3/4) AAS
>>314
合ってます。ATANの配列で-45°から45°までの値を用意しておいて、
atan2で0°〜360°バージョンを作る。atan2は
「座標(s1−x1,s2−x2)を極座標表示したときの角度(0°〜360°)」
を返す関数。
316(1): 2009/06/20(土)19:44 ID:IrWZy+Ag(4/4) AAS
atan2について補足しておくと、s1,s2は自機の座標、
x1,x2が敵の座標のつもりです。分かりにくくてすまんw
使用例:
敵が原点にいて、自機が(1,√3)の座標にいる状態で自機狙い弾を
出すとしたら、敵弾の角度は60°に設定しなくちゃいけないけど、
この「60」という値はatan2(1,√3,0,0)で取得できる。
317: 287 2009/06/20(土)20:20 ID:EiZ+vaXy(2/2) AAS
>>316
いや分かりすぎる!ありがとう
理解した
今まで70ステップかかってたから、だいぶ軽くなりそうだー
318(2): ◆vipRGqvJxg 2009/08/04(火)01:28 ID:Qxacis60(1) AAS
凄く亀レスだけど
>>311
ピクチャーの回転を使った弾に驚き
この進化っぷりはやばい
今どこまで進んでいるか気になる
横スクアクションのステージが全然思い浮かばねえ
319(3): 2009/08/05(水)10:02 ID:NdybQDg/(1) AAS
>>318
アクションいいな、期待だ
今作れない状況であんまり進んでないけど
外部リンク:www1.axfc.net
区切れごとに必要なピクチャーを一括表示しておいて、
普段はピクチャーの移動だけ使うようにしてみた
Atan多用できるようになったから、もっと色々できそうなのになー
320: ◆vipRGqvJxg 2009/08/05(水)21:12 ID:Xu6w8Koo(1) AAS
>>319
縦スクロールになったのか
自弾が当たる弾、自機の方を向く敵、蛇行する敵をツクールで見れて感動した
正直凄すぎてプレイしてる最中ツクールってこと忘れてたw
自分もSTG作りたくなったけど三角関数はあまりよくわからん
初期の頃と比べて重さも随分マシになってる
敵の動きをそれぞれ変えたり
自弾をもう少し当てやすくすればもっと完成度高くなりそう
応援してる
321: 287 2009/08/06(木)17:30 ID:lHVTBQuL(1) AAS
よしじゃあ作れる状態になったら頑張って完成させるか
三角関数は仕組み自体は単純だから挑戦してみると良いよ。
上下前次1-新書関写板覧索設栞歴
あと 67 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.022s