1 名前:名前は開発中のものです。 [2008/04/02(水) 02:11:27 ID:cxIG00d1] Ruby/SDL、StarRubyなどを用いてゲームを作る(作ろうとしている)人が 情報交換したり雑談したり質問したりするためのスレッドです。 ツクールXP(RGSS)についてはツクールスレ等でお願いします。 Ruby/SDL www.kmc.gr.jp/~ohai/rubysdl.html StarRuby www.starruby.info/ja/
10 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 09:24:45 ID:4RENp5IN] >>9 どうも。 何を使えば良いのかも分からないので名前でStarRubyを選んでみました。 コピペでキャラクターを動かす所までは出来ました。 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
11 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 14:08:51 ID:lmqsmDRl] >>10 ヒント 1:画面外に出たかどうかを判定して 2:出ていたらx座標を画面内に戻す
12 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 16:25:47 ID:4RENp5IN] >>11 ヒントどうもです。出かけていました。 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
13 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 16:37:19 ID:u330x2Hg] >>12 ) が足りんぞ
14 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 16:39:33 ID:4RENp5IN] >>13 何かの拍子に消してしまったみたいです。 Game.screen.render_texture(type3, px, py, :src_width => 32, :src_height => 32)←これですね。
15 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 16:40:37 ID:u330x2Hg] >>12 アニメって、どのようにアニメさせたいん?
16 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 16:44:42 ID:4RENp5IN] >>15 type3.pngを見てもらうと分かると思いますが、 エンジン部分が光るようになっています。
17 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 16:45:29 ID:u330x2Hg] >>16 それはわかるけど、いつ光るタイミングになるのよ?
18 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 16:47:26 ID:u330x2Hg] >>16 ちなみに光る絵に切り替えるなら、:src_x => 32, :src_y => 0 を追加すればいいと思う
19 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 16:50:26 ID:4RENp5IN] >>17 さあ? どのタイミングでアニメーションするのが普通なんでしょうか? あまりシューティングなんてやらないのでなんとも。 ななめ移動もいまいちどうやっていいのか考え中です。
20 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 16:56:10 ID:4RENp5IN] >>18 隣の画像にはなりましたが、アニメーションはしません。
21 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 17:02:34 ID:u330x2Hg] >>20 :src_x => の部分を変数にして切り替えるんだよ。 君が切り替えのタイミング分からないなら俺にも分からん。
22 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 17:13:31 ID:4RENp5IN] 規制されてしまう。 if 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) で出来ました。凄い勢いで点滅してます。
23 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 17:30:46 ID:u330x2Hg] >>22 別の変数でカウンター作って、その値で切り替えるともっとゆっくりになると思う。 がんがれ。
24 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 17:41:25 ID:4RENp5IN] >>23 色々どうもです。ちと疲れたので休みます。 ななめ移動で詰まってしまっているので、どなたか分かる方がいらっしゃたら、 教えてください。
25 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 17:54:21 ID:lmqsmDRl] >>24 ヒント:縦移動と横移動を別々に処理
26 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 19:12:04 ID:4RENp5IN] >>25 ヒントどうもです。 gamdev.org/up/img/11280.zip 次は弾が出せるようにしてみます。 他の人も来ないかなー、独り占めってのも気が引ける。
27 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 00:07:21 ID:snHQsLG1] >>22 秒間30〜60回ループしてるんだから、 @animation_counterでも作ってカウントアップして、 アニメーションのトリガが来たらsrc_x,yを動かせばいいんじゃ? と思い付いた SRPG作ってるんだが、どういう設計にすればいいか悩んでる どこかに例が転がってないかなあ…
28 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 13:53:12 ID:ZZArlQe5] どなたか弾の出し方のサンプルを提示してもらえないでしょうか? >>27 @の付いた変数はインスタンス変数だとリファレンスにありましたが、 どういった時に使うのかよく分かっていないので普通にcounterという変数で やりました。 > SRPG作ってるんだが、どういう設計にすればいいか悩んでる > どこかに例が転がってないかなあ… ジャンル別に作り方が載っているサイトとかないんですかね?
29 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 14:35:34 ID:GePdtDO2] >>27 RPGやS-RPGはサンプルが少ないな rubyじゃないけど、このページは参考になるかも? gumina.sakura.ne.jp/CREATION/OLD/MAKING/index.html >>28 まずは自分で考えるべき そもそもSTGのサンプル(チュートリアル)ぐらい、ネット上にいくらでも転がっている ちなみに弾を出すあたりから、オブジェクト指向を理解してないと厳しくなる
30 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 15:07:32 ID:ZZArlQe5] >>29 Rubyへの置き換え方がいまいち分からなくて聞いてみました。 サンプルを作るのは難しいですか?難しいなら分かる人を待ってみます。
31 名前:名前は開発中のものです。 mailto:sage [2008/04/10(木) 06:17:57 ID:cxu7rJMK] Ruby/SDLでシューティング。かなりシンプル hoge.mine.nu/~koji/diary/?date=20051026#p01
32 名前:名前は開発中のものです。 mailto:sage [2008/04/10(木) 16:06:09 ID:lfkkv2ZU] なんとか自力で置き換える事が出来ました。 i = 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 後ほど見てみます。
33 名前:名前は開発中のものです。 mailto:sage [2008/04/10(木) 16:08:54 ID:lfkkv2ZU] 一つ質問があります。 今後ここでサンプルソースを要求しても、提示は一切なしですか?
34 名前:名前は開発中のものです。 mailto:sage [2008/04/10(木) 16:36:02 ID:lfkkv2ZU] zipを忘れていました。 gamdev.org/up/img/11303.zip 次は発射時に音を出したりなどの細かい所と、 いよいよ敵を出現させてみたいと思います。
35 名前:名前は開発中のものです。 mailto:sage [2008/04/10(木) 23:38:15 ID:O/o4AMAo] >>33 意味が分かりかねるんだが
36 名前:名前は開発中のものです。 mailto:sage [2008/04/11(金) 00:06:56 ID:8FxancmH] >>33 31がわざわざ提示してくれたのに何を言っているんだ
37 名前:名前は開発中のものです。 mailto:sage [2008/04/11(金) 00:44:07 ID:nEMzRDKZ] >>35 なしだったら、他へ行こうかなと思いまして。 人もあまり居ないみたいですので。
38 名前:名前は開発中のものです。 mailto:sage [2008/04/11(金) 17:54:44 ID:wfScRD9q] >>37 提示ってなんの提示?主語と目的語がないからわからないのよ
39 名前:名前は開発中のものです。 mailto:sage [2008/04/11(金) 23:03:47 ID:CTkbzMiH] サンプルソースくれって言ったら作って貼れってことか。 他いけば?
40 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 02:41:34 ID:dV6hecf3] >>34 おーなめらかにうごくじゃん がんばー
41 名前:名前は開発中のものです。 mailto:sage [2008/04/13(日) 22:58:53 ID:hGwqVbQC] >>34 こっちでもちゃんと動いたよー
42 名前:名前は開発中のものです。 mailto:sage [2008/04/14(月) 22:12:41 ID:rYEMXViq] >>34 のスクリプトを 自分なりに適当にリファクタしてみた。 delay_shot がよく分からなかった。
43 名前:名前は開発中のものです。 mailto:sage [2008/04/15(火) 16:22:40 ID:3tODdakK] StarRuby::Input.keys の options に指定できる :delay と :interval の違いがよく分かりません。 分かる人よかったら解説きぼん! 以下 API リファレンス (www.starruby.info/ja/documentation/api_reference/star_ruby.input ) より抜粋。 :duration キーを押し始めてから、キーが押されていると判別される持続時間 (フレーム数)。 -1 を指定した場合は無限です (押しっぱなしの間ずっと「押された」と判別されます)。 :delay :duration を正数で指定している場合、 2 回目以降「押された」と判別されるまでの遅延時間 (フレーム数)。 -1 を指定した場合は無限です (2 回目以降の判定がありません)。 :interval 2 回目以降「押された」と判断される時間間隔 (フレーム数)。
44 名前:名前は開発中のものです。 mailto:sage [2008/04/15(火) 21:55:09 ID:G4jMd8nd] 使ってはいないけど、レス読んだ限りじゃ ・10フレームの間キーが押された→当然10フレーム全てで押されていると判定 ○○○○○○○○○○ ・:duration に3を指定→頭から3フレーム分だけ押されていると判定 ○○○××××××× ・:duration はそのままで :delay :duration に2を指定 →最初に頭から3フレーム分押されていると判定され、ディレイ分開け繰り返し押されていると判定される ○○○××○○○××
45 名前:Star Ruby の中の人 ◆VqDEEXDP8E mailto:sage [2008/04/15(火) 21:59:32 ID:WAeOMGRr] >>43-44 分かりにくくてすみません。図を追加しました。
46 名前:名前は開発中のものです。 mailto:sage [2008/04/15(火) 22:12:26 ID:3tODdakK] >>44 解説ありがとう! でも :interval が出てきてない? >>45 こんにちは中の人! さっそく図を見てきますね
47 名前:名前は開発中のものです。 mailto:sage [2008/04/15(火) 22:22:54 ID:3tODdakK] >>45 図を見てきました。 大体はイメージしていた通りなのですが、ちょっと分からないところがあります。 この図の例で :interval を 0 にした場合はどうなるんでしょうか? 例えば、StarRuby のサンプルの1つである falling_blocks には :interval に 0 を指定する以下のようなコードがありますが def repeatings(device) keys(device, { :duration => 1, :delay => 2, :interval => 0 }) end 0 というのは極めて短い間隔で「押された」と判断する、という解釈で合っていますか?
48 名前:Star Ruby の中の人 ◆VqDEEXDP8E mailto:sage [2008/04/15(火) 22:32:45 ID:WAeOMGRr] >>47 > 0 というのは極めて短い間隔で「押された」と判断する、という解釈で合っていますか? 0 になるのを想定していなかったというのが正直なところです。どうなるんだろう。 Star Ruby においては FPS (1 フレーム時間) より細かい時間の単位はありません。 よって、最小は 1 で、図にしたがうと「ずっと押された」と判別されることになります。 2 にすると、毎フレーム「押された」と「押されていない」を繰り返すようになります。
49 名前:Star Ruby の中の人 ◆VqDEEXDP8E mailto:sage [2008/04/15(火) 22:35:25 ID:WAeOMGRr] とかいいつつ :interval のデフォルト値は 0 ですが。 図にかけないな。
50 名前:Star Ruby の中の人 ◆VqDEEXDP8E mailto:sage [2008/04/15(火) 22:38:25 ID:WAeOMGRr] ってあれ、これ自分のソースか。何を言っているんだ俺。 というわけで > :duration => 1, :delay => 2, :interval => 0 は 1 の間違いです…
51 名前:名前は開発中のものです。 mailto:sage [2008/04/15(火) 22:41:11 ID:3tODdakK] >>49 > 図にかけないな。 そうそう! 僕もそこが分からなかったんですよ。 0 になるとどうなるのかなーって。 そして、falling_blocks は中の人さんが書いたんじゃなかったのですね。
52 名前:Star Ruby の中の人 ◆VqDEEXDP8E mailto:sage [2008/04/15(火) 22:42:17 ID:WAeOMGRr] 何度もすみません。実際やってみたら図がまちがっておりました…。 やっぱり 0 が正しいです。で、 > 0 というのは極めて短い間隔で「押された」と判断する、という解釈で合っていますか? も正しいです。 すみませんすみません…。
53 名前:名前は開発中のものです。 mailto:sage [2008/04/15(火) 22:42:56 ID:3tODdakK] >>50 え!なんだなんだ(;゚д゚) :interval => 1 が正しいってこと?
54 名前:Star Ruby の中の人 ◆VqDEEXDP8E mailto:sage [2008/04/15(火) 22:43:13 ID:WAeOMGRr] > そして、falling_blocks は中の人さんが書いたんじゃなかったのですね。 いや、自分で書きました。 >>47 は「こう書くとどうなるの」という意味だと空目してました。
55 名前:名前は開発中のものです。 mailto:sage [2008/04/15(火) 22:44:12 ID:3tODdakK] ちょっと僕もちゃんとコードいじって試してみよう
56 名前:Star Ruby の中の人 ◆VqDEEXDP8E mailto:sage [2008/04/15(火) 23:02:03 ID:WAeOMGRr] そしてこっそり図を修正しました。
57 名前:名前は開発中のものです。 mailto:sage [2008/04/15(火) 23:05:16 ID:3tODdakK] あまりちゃんと検証したわけじゃないけど、とりあえず 上に書いた repeating メソッド内に出てくる :interval は 0 の方が 1 よりもスムーズに動く。
58 名前:名前は開発中のものです。 mailto:sage [2008/04/15(火) 23:06:16 ID:3tODdakK] >>56 今 57 を図を見ながら書いてて ページを更新したら図が変わったので そうじゃないかと思いましたw おつかれさまです
59 名前:名前は開発中のものです。 mailto:sage [2008/04/15(火) 23:07:54 ID:3tODdakK] この図はしっくりきますね。 今の僕のイメージとぴったり重なる。
60 名前:Star Ruby の中の人 ◆VqDEEXDP8E mailto:sage [2008/04/15(火) 23:10:40 ID:WAeOMGRr] 混乱させて申し訳ありませんでした。 Star Ruby を使っていただきありがとうございます。
61 名前:名前は開発中のものです。 mailto:sage [2008/04/15(火) 23:14:30 ID:3tODdakK] >>60 いえいえ。 こちらこそありがとうございました。 また何かあったらここに書き込むかもしれないので よかったらまたお願いします。
62 名前:名前は開発中のものです。 mailto:sage [2008/04/15(火) 23:15:27 ID:Ky2ZHIVp] >>60 チュートリアル早く書いてね(はぁと)
63 名前:Star Ruby の中の人 ◆VqDEEXDP8E mailto:sage [2008/04/15(火) 23:34:24 ID:WAeOMGRr] >>62 はーい><
64 名前:名前は開発中のものです。 mailto:sage [2008/04/17(木) 21:55:26 ID:/N9sorSi] Python使いだが、 ゲーム作りではRubyを使わざるを得ないようだなこりゃ
65 名前:名前は開発中のものです。 mailto:sage [2008/04/17(木) 22:35:39 ID:LbpK4gl9] >>64 pyGameには何か問題があるのか?
66 名前:名前は開発中のものです。 mailto:sage [2008/04/18(金) 12:30:18 ID:MYeenWuR] >>65 MacOS使ってるんだけど、 object-cモジュールの兼ね合いで正常に動作しない。 一応バイナリパッケージ版でrc5版がリリースされてるけど 動作がいまいち安定してないんだよ..
67 名前:名前は開発中のものです。 mailto:sage [2008/04/19(土) 21:13:21 ID:pyAMTUL2] >>66 Rubyへようこそ
68 名前:名前は開発中のものです。 mailto:sage [2008/04/20(日) 02:03:18 ID:nOrmnF1m] Rubyだからその辺安心ってわけでもないがな
69 名前:名前は開発中のものです。 mailto:sage [2008/04/21(月) 20:23:31 ID:yXrZrnn7] 俺は逆にOSX+Rubyでのゲーム制作は挫折しました なんかgemコケるんだよなー
70 名前:名前は開発中のものです。 [2008/04/23(水) 16:14:29 ID:jxFSACYN] マリオブラザーズをRubyで作ってみた d.hatena.ne.jp/authorNari/20080422/1208880928
71 名前:名前は開発中のものです。 mailto:sage [2008/04/23(水) 20:49:52 ID:UI+EbsII] >>70 ソース見てみたが、もっと簡潔にできそうだね
72 名前:名前は開発中のものです。 mailto:sage [2008/05/01(木) 20:46:41 ID:uIZC2Vdr] 保守
73 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 08:45:24 ID:BTa1QZ3i] 少し前の話だけど、Ruby/SDL 2.0が出てる Windows版のリリースはまだみたいだが ttp://www.kmc.gr.jp/~ohai/
74 名前:名前は開発中のものです。 mailto:sage [2008/05/17(土) 11:23:55 ID:zKBwdQ9K] mac os x leopardでruby/sdlを使おうとしているのですがうまくいきません 付属のサンプルのうちfpstimer alpha cursor event2 font joy2 movesp randrect stetris testspriteは動きました それ以外は動きませんでした どうすればまともに動くようになるでしょうか
75 名前:名前は開発中のものです。 mailto:sage [2008/05/17(土) 14:21:59 ID:9mUdty5M] 動かないって具体的にどうなんのよ エラーとか出てるならそれも書かないとわからないよ
76 名前:74 mailto:sage [2008/05/17(土) 14:24:09 ID:zKBwdQ9K] ほぼすべてにおいて下のようなエラーがでます undefined method '****'ってかんじです sgetest.rb:15: undefined method `drawLine' for #<SDL::Screen:0x1aeca468> (NoMethodError)
77 名前:名前は開発中のものです。 mailto:sage [2008/05/17(土) 14:33:26 ID:9mUdty5M] その辺のメソッド使うにはSGEを入れてからruby/sdlをビルドする必要がある ttp://www.kmc.gr.jp/~ohai/rubysdl/README.ja この辺見てオプションのライブラリ一通り入れると全部の機能使えるようになるぜ
78 名前:74 mailto:sage [2008/05/17(土) 15:31:00 ID:zKBwdQ9K] >>75 >>77 ありがとうございます SGEを入れてSDLを再インストールしたら動きました
79 名前:名前は開発中のものです。 mailto:sage [2008/05/21(水) 13:28:10 ID:vzVpxeFw] 今度のRuby Kaigi で StarRubyの中の人が出るんだね
80 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 05:44:15 ID:dDH20x7g] STGとかでのボス戦みたいに 「画面を覆い尽くす弾幕と、派手なボムでの玉消し」とか めっさピクセル使うときに一番軽いのって どのゲーム制作モジュールなんだろ? 候補としてはmygame, miyako, starruby あたりなんだが。 それとも ruby/sdl だけの問題なのだろうか? 既出ネタだったらスマソ。
81 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 07:45:42 ID:wMsF4i4Y] その三つをベンチ比較するみたいな話題はなかったと思う もしruby/sdl自体に限界を感じてるのならruby-OpenGLも良い候補かも
82 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 09:01:15 ID:v4+cr6Bp] >>80 StarRubyはRuby/SDL使ってないはず だからここで比較するなら 1. Ruby/SDLで直接プログラミング 2. Ruby/SDLに中間層(MyGame, Miyako)を挟む 3. StarRuby の三択だろう どれが軽いかは分からん。コード内での工夫にもよるだろうし
83 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 09:09:20 ID:wMsF4i4Y] >StarRubyはRuby/SDL使ってないはず いやいや使ってるよ
84 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 10:43:04 ID:pFm8UCsU] どれもSDL使ってるからピクセル合成についてなら大して変わらなそうな気がするな たぶん描画より、「画面を覆い尽くす弾幕」の更新、ヒット判定の方がボトルネックになると思うぜ
85 名前:名前は開発中のものです。 [2008/06/25(水) 11:43:05 ID:0H1XKKpH] >>79 ニコ動に動画あたよ Ruby のゲーム開発の現状と自作ゲームライブラリ Star Ruby - 星一‐ニコニコ動画(SP1) www.nicovideo.jp/watch/sm3733775
86 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 13:33:39 ID:JUyYpQJe] 余所から誘導されてきました SDLでシューティング作ってるんですけど 被弾した時に 画面全体を赤っぽくしたいんですが、画面全体を赤で塗りつぶして半透明にするような処理ってできますか?
87 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 18:46:42 ID:v4+cr6Bp] >>83 どの辺に? ソースコード見ても、C言語でガリガリ書いてるようにしか見えないし ダウンロードページにも「Ruby/SDL は不要です。」って書いてあるよ もしかして「RubyとSDLを使ってる」っていうオチか 俺が言ってるのは固有名詞の「Ruby/SDL」なんだが >>86 Surface#fill_rectで塗りつぶした別サーフェス(screenと同じサイズの)を生成し Surface#set_alphaでαブレンディングを有効にしてから重ねる
88 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 19:19:29 ID:JUyYpQJe] >>86 返事ありです!
89 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 19:21:07 ID:JUyYpQJe] ごめ・・また途中でカキコしちまった('A`)改行でSHIFT+Enter押すくせががが 自分もそれでやろうとしたけどなんか出来ないんですよ・・・ もうちょいグーグル先生と逆引きに聞きながらがんばってみます
90 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 20:01:53 ID:JUyYpQJe] >>87 どうしても重ね方がわからないんだぜ 初心者すぎて死にたい orz
91 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 20:08:50 ID:nTAJQ39k] もっと具体的に (A) 書いたコード(抜粋でも可) (B) 期待する結果 (C) 実際に起きた結果 を書くと良いかも。 「できない」だけではエスパーじゃないと答えづらいはず。
92 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 22:14:00 ID:JUyYpQJe] もう書いたコードというより どうやって新しいサーフェスを作って 出力するのかがわからないんです; SDL::Surface.new(SDL::HWSURFACE,640,480,8,220,10,20,70) SDL::Surface#fill_rect(0,0,640,480,[220,10,20]) SDL::Surface#set_alpha(SDL::SRCALPHA,70) ここらへんつかうのわかったんですけど書き方がわからなくて・・・;初心者すぎてごめんなさい;
93 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 22:58:32 ID:kaYQXnzU] 多分、今出来ているコードをうpすれば改変してくれる予感。 暇人は多い。でも、現在のコードが判らないと修正のしようもない。
94 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 23:30:47 ID:JUyYpQJe] 出来ているコードすらないからこまるorz とりあえず適当に書いて抜粋したけど頭こんがらがってパニックになってます; 初心者にはムリっぽそうです def act(input) @pache.act(input) is_crashed,books = @items.act(@pache) if is_crashed SDL::Mixer.halt_music aka = SDL::Surface.new(SDL::HWSURFACE,640,480,8,220,10,20,70) #←ここで画面全体を赤くしたいです;。 def pityu(aka) SDL::Surface#fill_rect(0,0,640,480,[220,10,20]) SDL::Surface#set_alpha(SDL::SRCALPHA,50) end pityu sleep 2 # (4) ゲームオーバーになったらハイスコアを更新する @high_score = @score if @high_score < @score score #scoreをインスタンスクラスからグローバルクラスに return :game_over else @score += books * 100 # (3) 本を 1 個取るごとに 100 点加算する return nil end end
95 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 23:51:55 ID:JUyYpQJe] わかりにくいのでやっぱりうpしますwww2.uploda.org/uporg1504954.rar.html 汚いソースですけどマジでごめんなさいorz うpする自分も初心者丸出しで恥ずかしい
96 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 00:41:08 ID:uCUDTTyx] とりあえずやっつけでakaの部分書き換えてみた 実際に動くかどうかは未検証 screen = SDL::Screen.get aka = SDL::Surface.new(screen.flags, screen.w, screen.h, screen.format) aka.fill_rect(0, 0, aka.w, aka.h,[220,10,20]) aka.set_alpha(SDL::SRCALPHA, 50) screen.put(aka, 0, 0)
97 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 00:48:21 ID:Y1fNGck7] 。・゚・(ノД`)・゚・ ぶわっ マジありがとうございます; 書き方全然違ってて恥ずかしい・・・; いまからいれてきてみます。
98 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 01:34:03 ID:Y1fNGck7] うっ・・・できませんでした・・ いろいろ試行錯誤してみますね・・・;
99 名前:96 mailto:sage [2008/06/26(木) 09:43:49 ID:uCUDTTyx] ごめん、最後の行のscreen.put入れる位置はここ(actメソッド)じゃない 実際にはrenderメソッドの中に入れる必要がある (画面に地形やキャラクターを描いた後で赤くする) それ以外の部分は、手元でRuby/SDLのサンプル使って検証してみたところ動いたので問題なさそう
100 名前:名前は開発中のものです。 mailto:sage [2008/06/27(金) 00:50:18 ID:OOVE5AKf] なんかScreen.getがうまくいかないんでSurface.newを新しく作ってるんですけどL::Surface.new(flags,w,h,format) のformatってなんてかけばいいのかわかりません; もうマジ初心者の質問すぎてごめんなさい・・・ リファレンスマニュアル読んでもわからないんです・・
101 名前:名前は開発中のものです。 mailto:sage [2008/06/27(金) 02:46:41 ID:bltVx0hU] ちなみにRuby/SDLにはおおざっぱに1.x(最新は1.3.1)と 2.x(最新は2.0.1)という二つのバージョンがあって、 >>96 が書いているSDL::Screen.getは2.xにしかない。 リファレンスマニュアルもバージョン毎にある(1.xと2.xは別)ので要注意。 SDL::Screen.getがうまくいかないという>>100 は1.xを使っているのではないか。 念のために、SDL::VERSIONの値を教えてほしい。 require 'sdl' p SDL::VERSION
102 名前:名前は開発中のものです。 mailto:sage [2008/06/27(金) 13:19:02 ID:FLBA5DaJ] PCに入ってるのは2.0alpha1です けどたぶんスターター使って起動してるから多分そっちのバージョンが低いのかも・・・('A`)
103 名前:名前は開発中のものです。 mailto:sage [2008/06/27(金) 14:02:06 ID:FLBA5DaJ] なんか2.0のほうで起動したらちゃんと起動しました でもactの中でスクリーンプット置くにはどうしたらいいんだろう・・・ render(screen)のところにそのまんま全部おいたら常に赤くなるのは確認できたんですけど 死んだときに赤くするって処理がいまだにできないですor2 いろいろためしてますが・・・もうダメぽ www.uploda.org/uporg1507985.rar.html とりあえずmainソースです;
104 名前:名前は開発中のものです。 mailto:sage [2008/06/27(金) 21:06:56 ID:l2w5o4Cs] >>103 もう消えてる
105 名前:名前は開発中のものです。 mailto:sage [2008/06/29(日) 09:23:06 ID:+QlqCrVn] 返事おくれてごめんなさい('A`) なんとか自己解決しました。 被弾した時にすぐに別のシーンに移動してしまっていたようで 新しくスクリーンアップデートをつくってあげたらなんとかあかくなりましたor2お騒がせしてごめんなさい
106 名前:名前は開発中のものです。 mailto:sage [2008/07/11(金) 19:52:05 ID:iVchH/PO] StarRubyの人がこんなサイトを。 ruby-game-dev.org/ まだほとんど何もないけど。
107 名前:名前は開発中のものです。 mailto:sage [2008/07/11(金) 20:14:05 ID:zL2sa+vS] そのサイト見ながら思ったんだが、Ruby製で真面目に遊べそうなゲームって何かないかな? 俺がプレイした中でハマったのはSOAR(ただしプレイスタイルはボタン連打)だけなんだが
108 名前:名前は開発中のものです。 [2008/07/13(日) 07:03:02 ID:XXccfbsj] >>106 Rubyでゲーム開発のコミニティがほしいといってたから作ったんだね
109 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 00:25:20 ID:tEiF1FT2] ruby初心者だけどやろうかな・・・上のwikiみておもった。
110 名前:名前は開発中のものです。 mailto:sage [2008/07/23(水) 12:43:57 ID:XJisHIkx] StarRubyでエロゲ作りたいんだけど、 イベント画像がフォルダ開いて丸見えってのはやっぱツライよな。