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