【Ruby/SDL他】Rubyでゲーム制作・総合スレッド
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2008/04/02(水) 02:11:27ID:cxIG00d1情報交換したり雑談したり質問したりするためのスレッドです。
ツクールXP(RGSS)についてはツクールスレ等でお願いします。
Ruby/SDL
http://www.kmc.gr.jp/~ohai/rubysdl.html
StarRuby
http://www.starruby.info/ja/
0002名前は開発中のものです。
2008/04/02(水) 02:15:28ID:ebTSCWAKプログラマ募集してる
0003名前は開発中のものです。
2008/04/02(水) 02:18:27ID:cxIG00d1MyGame(支援ライブラリ)
http://dgames.jp/ja/projects/mygame/
Miyako(支援ライブラリ)
http://www.twin.ne.jp/~cyross/Miyako/
Rubyist Magazine - Ruby/SDLで始めるゲームプログラミング
http://jp.rubyist.net/magazine/?0018-GameProgramingForRubySDL
http://jp.rubyist.net/magazine/?0019-GameProgramingForRubySDL
【関連スレ】
Ruby でなんかゲームつくる
http://pc11.2ch.net/test/read.cgi/gamedev/1205141142/
0004名前は開発中のものです。
2008/04/02(水) 02:21:29ID:cxIG00d1http://mono.kmc.gr.jp/proj/rubysdl/
他にも関連ページや関連スレがあれば、追記お願いします
0005名前は開発中のものです。
2008/04/03(木) 10:02:12ID:i0VfX6sHhttp://www.tacoworks.jp/software/SDLdoc-jp/
http://www.tacoworks.jp/software/SDLdoc-jp/html/index.html
0006名前は開発中のものです。
2008/04/04(金) 21:31:12ID:wl4zhTBo> 表示できない画面モードにすると、フリーズするパソコンもあります
> ちゃんと環境を調べてからSDL_SetVideoModeを行いましょう
http://blog.livedoor.jp/nanashisoft/archives/51495887.html
0007名前は開発中のものです。
2008/04/04(金) 22:33:48ID:COKMRNIcいったいdisplay_format_alphaはどんな時に使えばいいんだろう
0008名前は開発中のものです。
2008/04/05(土) 00:22:05ID:4RENp5IN0009名前は開発中のものです。
2008/04/05(土) 07:44:08ID:lmqsmDRlプログラム的な部分に何らかの興味があるならおk
このスレは初心者もウェルカムです(たぶん)
0010名前は開発中のものです。
2008/04/05(土) 09:24:45ID:4RENp5INどうも。
何を使えば良いのかも分からないので名前でStarRubyを選んでみました。
コピペでキャラクターを動かす所までは出来ました。
http://gamdev.org/up/img/11278.zip
とりあえず次は画面外にはみ出してしまうのを防ぎたいです。
Game.run(320, 480) do
Game.terminate if Input.keys(:keyboard).include?(:escape)
Game.screen.clear
keys = Input.keys(:keyboard)
if keys.include?(:right)
x = x + 10
elsif keys.include?(:left)
x = x - 10
end
Game.screen.render_texture(type3, x, y, :src_width => 32, :src_height => 32)
end
0011名前は開発中のものです。
2008/04/05(土) 14:08:51ID:lmqsmDRlヒント
1:画面外に出たかどうかを判定して
2:出ていたらx座標を画面内に戻す
0012名前は開発中のものです。
2008/04/05(土) 16:25:47ID:4RENp5INヒントどうもです。出かけていました。
http://gamdev.org/up/img/11279.zip
次はななめに移動&アニメーションをさせたいですね。
アニメーションはどうやるのがいいんでしょうか?
keys = Input.keys(:keyboard)
if keys.include?(:right)
px = px + 10
if px > 288
px = 288
end
elsif keys.include?(:left)
px = px - 10
if px < 0
px = 0
end
elsif keys.include?(:up)
py = py - 10
if py < 0
py = 0
end
elsif keys.include?(:down)
py = py + 10
if py > 448
py = 448
end
end
0013名前は開発中のものです。
2008/04/05(土) 16:37:19ID:u330x2Hg) が足りんぞ
0014名前は開発中のものです。
2008/04/05(土) 16:39:33ID:4RENp5IN何かの拍子に消してしまったみたいです。
Game.screen.render_texture(type3, px, py, :src_width => 32,
:src_height => 32)←これですね。
0015名前は開発中のものです。
2008/04/05(土) 16:40:37ID:u330x2Hgアニメって、どのようにアニメさせたいん?
0016名前は開発中のものです。
2008/04/05(土) 16:44:42ID:4RENp5INtype3.pngを見てもらうと分かると思いますが、
エンジン部分が光るようになっています。
0017名前は開発中のものです。
2008/04/05(土) 16:45:29ID:u330x2Hgそれはわかるけど、いつ光るタイミングになるのよ?
0018名前は開発中のものです。
2008/04/05(土) 16:47:26ID:u330x2Hgちなみに光る絵に切り替えるなら、:src_x => 32, :src_y => 0 を追加すればいいと思う
0019名前は開発中のものです。
2008/04/05(土) 16:50:26ID:4RENp5INさあ?
どのタイミングでアニメーションするのが普通なんでしょうか?
あまりシューティングなんてやらないのでなんとも。
ななめ移動もいまいちどうやっていいのか考え中です。
0020名前は開発中のものです。
2008/04/05(土) 16:56:10ID:4RENp5IN隣の画像にはなりましたが、アニメーションはしません。
0021名前は開発中のものです。
2008/04/05(土) 17:02:34ID:u330x2Hg:src_x => の部分を変数にして切り替えるんだよ。
君が切り替えのタイミング分からないなら俺にも分からん。
0022名前は開発中のものです。
2008/04/05(土) 17:13:31ID:4RENp5INif srcx == 0
srcx = 32
elsif srcx == 32
srcx = 0
end
Game.screen.render_texture(type3, px, py, :src_x => srcx,
:src_y => srcy,
:src_width => 32,
:src_height => 32)
で出来ました。凄い勢いで点滅してます。
0023名前は開発中のものです。
2008/04/05(土) 17:30:46ID:u330x2Hg別の変数でカウンター作って、その値で切り替えるともっとゆっくりになると思う。
がんがれ。
0024名前は開発中のものです。
2008/04/05(土) 17:41:25ID:4RENp5IN色々どうもです。ちと疲れたので休みます。
ななめ移動で詰まってしまっているので、どなたか分かる方がいらっしゃたら、
教えてください。
0025名前は開発中のものです。
2008/04/05(土) 17:54:21ID:lmqsmDRlヒント:縦移動と横移動を別々に処理
0026名前は開発中のものです。
2008/04/05(土) 19:12:04ID:4RENp5INヒントどうもです。
http://gamdev.org/up/img/11280.zip
次は弾が出せるようにしてみます。
他の人も来ないかなー、独り占めってのも気が引ける。
0027名前は開発中のものです。
2008/04/06(日) 00:07:21ID:snHQsLG1秒間30〜60回ループしてるんだから、
@animation_counterでも作ってカウントアップして、
アニメーションのトリガが来たらsrc_x,yを動かせばいいんじゃ?
と思い付いた
SRPG作ってるんだが、どういう設計にすればいいか悩んでる
どこかに例が転がってないかなあ…
0028名前は開発中のものです。
2008/04/06(日) 13:53:12ID:ZZArlQe5>>27
@の付いた変数はインスタンス変数だとリファレンスにありましたが、
どういった時に使うのかよく分かっていないので普通にcounterという変数で
やりました。
> SRPG作ってるんだが、どういう設計にすればいいか悩んでる
> どこかに例が転がってないかなあ…
ジャンル別に作り方が載っているサイトとかないんですかね?
0029名前は開発中のものです。
2008/04/06(日) 14:35:34ID:GePdtDO2RPGやS-RPGはサンプルが少ないな
rubyじゃないけど、このページは参考になるかも?
http://gumina.sakura.ne.jp/CREATION/OLD/MAKING/index.html
>>28
まずは自分で考えるべき
そもそもSTGのサンプル(チュートリアル)ぐらい、ネット上にいくらでも転がっている
ちなみに弾を出すあたりから、オブジェクト指向を理解してないと厳しくなる
0030名前は開発中のものです。
2008/04/06(日) 15:07:32ID:ZZArlQe5Rubyへの置き換え方がいまいち分からなくて聞いてみました。
サンプルを作るのは難しいですか?難しいなら分かる人を待ってみます。
0031名前は開発中のものです。
2008/04/10(木) 06:17:57ID:cxu7rJMKhttp://hoge.mine.nu/~koji/diary/?date=20051026#p01
0032名前は開発中のものです。
2008/04/10(木) 16:06:09ID:lfkkv2ZUi = 0
pbmx.times{|i|
if pbf[i] == 0
if shot_delay > 0
shot_delay -= 1
else
if Input.keys(:keyboard).include?(:z)
shot_delay = 10
pbx[i] = px + 14
pby[i] = py - 24
pbf[i] = 1
end
end
end
pby[i] -= 10
if pby[i] < 0
pbf[i] = 0
end
if pbf[i] == 1
Game.screen.render_texture(bullet, pbx[i], pby[i])
end
i += 1
}
>>31
後ほど見てみます。
0033名前は開発中のものです。
2008/04/10(木) 16:08:54ID:lfkkv2ZU今後ここでサンプルソースを要求しても、提示は一切なしですか?
0034名前は開発中のものです。
2008/04/10(木) 16:36:02ID:lfkkv2ZUhttp://gamdev.org/up/img/11303.zip
次は発射時に音を出したりなどの細かい所と、
いよいよ敵を出現させてみたいと思います。
0035名前は開発中のものです。
2008/04/10(木) 23:38:15ID:O/o4AMAo意味が分かりかねるんだが
0036名前は開発中のものです。
2008/04/11(金) 00:06:56ID:8FxancmH31がわざわざ提示してくれたのに何を言っているんだ
0037名前は開発中のものです。
2008/04/11(金) 00:44:07ID:nEMzRDKZなしだったら、他へ行こうかなと思いまして。
人もあまり居ないみたいですので。
0038名前は開発中のものです。
2008/04/11(金) 17:54:44ID:wfScRD9q提示ってなんの提示?主語と目的語がないからわからないのよ
0039名前は開発中のものです。
2008/04/11(金) 23:03:47ID:CTkbzMiH他いけば?
0040名前は開発中のものです。
2008/04/13(日) 02:41:34ID:dV6hecf3おーなめらかにうごくじゃん
がんばー
0041名前は開発中のものです。
2008/04/13(日) 22:58:53ID:hGwqVbQCこっちでもちゃんと動いたよー
0042名前は開発中のものです。
2008/04/14(月) 22:12:41ID:rYEMXViq自分なりに適当にリファクタしてみた。
delay_shot がよく分からなかった。
0043名前は開発中のものです。
2008/04/15(火) 16:22:40ID:3tODdakK:delay と :interval の違いがよく分かりません。
分かる人よかったら解説きぼん!
以下 API リファレンス (http://www.starruby.info/ja/documentation/api_reference/star_ruby.input) より抜粋。
:duration キーを押し始めてから、キーが押されていると判別される持続時間 (フレーム数)。
-1 を指定した場合は無限です (押しっぱなしの間ずっと「押された」と判別されます)。
:delay :duration を正数で指定している場合、 2 回目以降「押された」と判別されるまでの遅延時間 (フレーム数)。
-1 を指定した場合は無限です (2 回目以降の判定がありません)。
:interval 2 回目以降「押された」と判断される時間間隔 (フレーム数)。
0044名前は開発中のものです。
2008/04/15(火) 21:55:09ID:G4jMd8nd・10フレームの間キーが押された→当然10フレーム全てで押されていると判定
○○○○○○○○○○
・:duration に3を指定→頭から3フレーム分だけ押されていると判定
○○○×××××××
・:duration はそのままで :delay :duration に2を指定
→最初に頭から3フレーム分押されていると判定され、ディレイ分開け繰り返し押されていると判定される
○○○××○○○××
0045Star Ruby の中の人 ◆VqDEEXDP8E
2008/04/15(火) 21:59:32ID:WAeOMGRr分かりにくくてすみません。図を追加しました。
0046名前は開発中のものです。
2008/04/15(火) 22:12:26ID:3tODdakK解説ありがとう!
でも :interval が出てきてない?
>>45
こんにちは中の人!
さっそく図を見てきますね
0047名前は開発中のものです。
2008/04/15(火) 22:22:54ID:3tODdakK図を見てきました。
大体はイメージしていた通りなのですが、ちょっと分からないところがあります。
この図の例で :interval を 0 にした場合はどうなるんでしょうか?
例えば、StarRuby のサンプルの1つである falling_blocks には
:interval に 0 を指定する以下のようなコードがありますが
def repeatings(device)
keys(device, {
:duration => 1, :delay => 2, :interval => 0
})
end
0 というのは極めて短い間隔で「押された」と判断する、という解釈で合っていますか?
0048Star Ruby の中の人 ◆VqDEEXDP8E
2008/04/15(火) 22:32:45ID:WAeOMGRr> 0 というのは極めて短い間隔で「押された」と判断する、という解釈で合っていますか?
0 になるのを想定していなかったというのが正直なところです。どうなるんだろう。
Star Ruby においては FPS (1 フレーム時間) より細かい時間の単位はありません。
よって、最小は 1 で、図にしたがうと「ずっと押された」と判別されることになります。
2 にすると、毎フレーム「押された」と「押されていない」を繰り返すようになります。
0049Star Ruby の中の人 ◆VqDEEXDP8E
2008/04/15(火) 22:35:25ID:WAeOMGRr図にかけないな。
0050Star Ruby の中の人 ◆VqDEEXDP8E
2008/04/15(火) 22:38:25ID:WAeOMGRrというわけで
> :duration => 1, :delay => 2, :interval => 0
は 1 の間違いです…
0051名前は開発中のものです。
2008/04/15(火) 22:41:11ID:3tODdakK> 図にかけないな。
そうそう!
僕もそこが分からなかったんですよ。
0 になるとどうなるのかなーって。
そして、falling_blocks は中の人さんが書いたんじゃなかったのですね。
0052Star Ruby の中の人 ◆VqDEEXDP8E
2008/04/15(火) 22:42:17ID:WAeOMGRrやっぱり 0 が正しいです。で、
> 0 というのは極めて短い間隔で「押された」と判断する、という解釈で合っていますか?
も正しいです。
すみませんすみません…。
0053名前は開発中のものです。
2008/04/15(火) 22:42:56ID:3tODdakKえ!なんだなんだ(;゚д゚)
:interval => 1 が正しいってこと?
0054Star Ruby の中の人 ◆VqDEEXDP8E
2008/04/15(火) 22:43:13ID:WAeOMGRrいや、自分で書きました。
>>47 は「こう書くとどうなるの」という意味だと空目してました。
0055名前は開発中のものです。
2008/04/15(火) 22:44:12ID:3tODdakK0056Star Ruby の中の人 ◆VqDEEXDP8E
2008/04/15(火) 23:02:03ID:WAeOMGRr0057名前は開発中のものです。
2008/04/15(火) 23:05:16ID:3tODdakK上に書いた repeating メソッド内に出てくる
:interval は 0 の方が 1 よりもスムーズに動く。
0058名前は開発中のものです。
2008/04/15(火) 23:06:16ID:3tODdakK今 57 を図を見ながら書いてて
ページを更新したら図が変わったので
そうじゃないかと思いましたw
おつかれさまです
0059名前は開発中のものです。
2008/04/15(火) 23:07:54ID:3tODdakK今の僕のイメージとぴったり重なる。
0060Star Ruby の中の人 ◆VqDEEXDP8E
2008/04/15(火) 23:10:40ID:WAeOMGRrStar Ruby を使っていただきありがとうございます。
0061名前は開発中のものです。
2008/04/15(火) 23:14:30ID:3tODdakKいえいえ。
こちらこそありがとうございました。
また何かあったらここに書き込むかもしれないので
よかったらまたお願いします。
0062名前は開発中のものです。
2008/04/15(火) 23:15:27ID:Ky2ZHIVpチュートリアル早く書いてね(はぁと)
0063Star Ruby の中の人 ◆VqDEEXDP8E
2008/04/15(火) 23:34:24ID:WAeOMGRrはーい><
0064名前は開発中のものです。
2008/04/17(木) 21:55:26ID:/N9sorSiゲーム作りではRubyを使わざるを得ないようだなこりゃ
■ このスレッドは過去ログ倉庫に格納されています