1 :
名前は開発中のものです。
2008/04/02(水) 02:11:27 ID:cxIG00d1
2 :
名前は開発中のものです。
2008/04/02(水) 02:15:28 ID:ebTSCWAK
3 :
名前は開発中のものです。
2008/04/02(水) 02:18:27 ID:cxIG00d1
4 :
名前は開発中のものです。
2008/04/02(水) 02:21:29 ID:cxIG00d1
5 :
名前は開発中のものです。
2008/04/03(木) 10:02:12 ID:i0VfX6sH
6 :
名前は開発中のものです。
2008/04/04(金) 21:31:12 ID:wl4zhTBo
7 :
名前は開発中のものです。
2008/04/04(金) 22:33:48 ID:COKMRNIc
Ruby/SDLで、未だにdisplay_formatとdisplay_format_alphaの違いがよく分からない
いったいdisplay_format_alphaはどんな時に使えばいいんだろう
8 :
名前は開発中のものです。
2008/04/05(土) 00:22:05 ID:4RENp5IN
プログラムよく分かってないんだけど参加しておk?
9 :
名前は開発中のものです。
2008/04/05(土) 07:44:08 ID:lmqsmDRl
>>8 プログラム的な部分に何らかの興味があるならおk
このスレは初心者もウェルカムです(たぶん)
10 :
名前は開発中のものです。
2008/04/05(土) 09:24:45 ID:4RENp5IN
>>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
>>10 ヒント
1:画面外に出たかどうかを判定して
2:出ていたらx座標を画面内に戻す
12 :
名前は開発中のものです。
2008/04/05(土) 16:25:47 ID:4RENp5IN
>>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
14 :
名前は開発中のものです。
2008/04/05(土) 16:39:33 ID:4RENp5IN
>>13 何かの拍子に消してしまったみたいです。
Game.screen.render_texture(type3, px, py, :src_width => 32,
:src_height => 32)←これですね。
15 :
名前は開発中のものです。
2008/04/05(土) 16:40:37 ID:u330x2Hg
>>12 アニメって、どのようにアニメさせたいん?
16 :
名前は開発中のものです。
2008/04/05(土) 16:44:42 ID:4RENp5IN
>>15 type3.pngを見てもらうと分かると思いますが、
エンジン部分が光るようになっています。
17 :
名前は開発中のものです。
2008/04/05(土) 16:45:29 ID:u330x2Hg
>>16 それはわかるけど、いつ光るタイミングになるのよ?
18 :
名前は開発中のものです。
2008/04/05(土) 16:47:26 ID:u330x2Hg
>>16 ちなみに光る絵に切り替えるなら、:src_x => 32, :src_y => 0 を追加すればいいと思う
19 :
名前は開発中のものです。
2008/04/05(土) 16:50:26 ID:4RENp5IN
>>17 さあ?
どのタイミングでアニメーションするのが普通なんでしょうか?
あまりシューティングなんてやらないのでなんとも。
ななめ移動もいまいちどうやっていいのか考え中です。
20 :
名前は開発中のものです。
2008/04/05(土) 16:56:10 ID:4RENp5IN
>>18 隣の画像にはなりましたが、アニメーションはしません。
21 :
名前は開発中のものです。
2008/04/05(土) 17:02:34 ID:u330x2Hg
>>20 :src_x => の部分を変数にして切り替えるんだよ。
君が切り替えのタイミング分からないなら俺にも分からん。
22 :
名前は開発中のものです。
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 :
名前は開発中のものです。
2008/04/05(土) 17:30:46 ID:u330x2Hg
>>22 別の変数でカウンター作って、その値で切り替えるともっとゆっくりになると思う。
がんがれ。
24 :
名前は開発中のものです。
2008/04/05(土) 17:41:25 ID:4RENp5IN
>>23 色々どうもです。ちと疲れたので休みます。
ななめ移動で詰まってしまっているので、どなたか分かる方がいらっしゃたら、
教えてください。
25 :
名前は開発中のものです。
2008/04/05(土) 17:54:21 ID:lmqsmDRl
26 :
名前は開発中のものです。
2008/04/05(土) 19:12:04 ID:4RENp5IN
27 :
名前は開発中のものです。
2008/04/06(日) 00:07:21 ID:snHQsLG1
>>22 秒間30~60回ループしてるんだから、
@animation_counterでも作ってカウントアップして、
アニメーションのトリガが来たらsrc_x,yを動かせばいいんじゃ?
と思い付いた
SRPG作ってるんだが、どういう設計にすればいいか悩んでる
どこかに例が転がってないかなあ…
28 :
名前は開発中のものです。
2008/04/06(日) 13:53:12 ID:ZZArlQe5
どなたか弾の出し方のサンプルを提示してもらえないでしょうか?
>>27 @の付いた変数はインスタンス変数だとリファレンスにありましたが、
どういった時に使うのかよく分かっていないので普通にcounterという変数で
やりました。
> SRPG作ってるんだが、どういう設計にすればいいか悩んでる
> どこかに例が転がってないかなあ…
ジャンル別に作り方が載っているサイトとかないんですかね?
29 :
名前は開発中のものです。
2008/04/06(日) 14:35:34 ID:GePdtDO2
30 :
名前は開発中のものです。
2008/04/06(日) 15:07:32 ID:ZZArlQe5
>>29 Rubyへの置き換え方がいまいち分からなくて聞いてみました。
サンプルを作るのは難しいですか?難しいなら分かる人を待ってみます。
31 :
名前は開発中のものです。
2008/04/10(木) 06:17:57 ID:cxu7rJMK
32 :
名前は開発中のものです。
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 :
名前は開発中のものです。
2008/04/10(木) 16:08:54 ID:lfkkv2ZU
一つ質問があります。
今後ここでサンプルソースを要求しても、提示は一切なしですか?
34 :
名前は開発中のものです。
2008/04/10(木) 16:36:02 ID:lfkkv2ZU
35 :
名前は開発中のものです。
2008/04/10(木) 23:38:15 ID:O/o4AMAo
36 :
名前は開発中のものです。
2008/04/11(金) 00:06:56 ID:8FxancmH
>>33 31がわざわざ提示してくれたのに何を言っているんだ
37 :
名前は開発中のものです。
2008/04/11(金) 00:44:07 ID:nEMzRDKZ
>>35 なしだったら、他へ行こうかなと思いまして。
人もあまり居ないみたいですので。
38 :
名前は開発中のものです。
2008/04/11(金) 17:54:44 ID:wfScRD9q
>>37 提示ってなんの提示?主語と目的語がないからわからないのよ
39 :
名前は開発中のものです。
2008/04/11(金) 23:03:47 ID:CTkbzMiH
サンプルソースくれって言ったら作って貼れってことか。
他いけば?
40 :
名前は開発中のものです。
2008/04/13(日) 02:41:34 ID:dV6hecf3
41 :
名前は開発中のものです。
2008/04/13(日) 22:58:53 ID:hGwqVbQC
42 :
名前は開発中のものです。
2008/04/14(月) 22:12:41 ID:rYEMXViq
>>34 のスクリプトを
自分なりに適当にリファクタしてみた。
delay_shot がよく分からなかった。
43 :
名前は開発中のものです。
2008/04/15(火) 16:22:40 ID:3tODdakK
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
使ってはいないけど、レス読んだ限りじゃ
・10フレームの間キーが押された→当然10フレーム全てで押されていると判定
○○○○○○○○○○
・:duration に3を指定→頭から3フレーム分だけ押されていると判定
○○○×××××××
・:duration はそのままで :delay :duration に2を指定
→最初に頭から3フレーム分押されていると判定され、ディレイ分開け繰り返し押されていると判定される
○○○××○○○××
45 :
Star Ruby の中の人 ◆VqDEEXDP8E
2008/04/15(火) 21:59:32 ID:WAeOMGRr
46 :
名前は開発中のものです。
2008/04/15(火) 22:12:26 ID:3tODdakK
>>44 解説ありがとう!
でも :interval が出てきてない?
>>45 こんにちは中の人!
さっそく図を見てきますね
47 :
名前は開発中のものです。
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
2008/04/15(火) 22:32:45 ID:WAeOMGRr
>>47 > 0 というのは極めて短い間隔で「押された」と判断する、という解釈で合っていますか?
0 になるのを想定していなかったというのが正直なところです。どうなるんだろう。
Star Ruby においては FPS (1 フレーム時間) より細かい時間の単位はありません。
よって、最小は 1 で、図にしたがうと「ずっと押された」と判別されることになります。
2 にすると、毎フレーム「押された」と「押されていない」を繰り返すようになります。
49 :
Star Ruby の中の人 ◆VqDEEXDP8E
2008/04/15(火) 22:35:25 ID:WAeOMGRr
とかいいつつ :interval のデフォルト値は 0 ですが。
図にかけないな。
50 :
Star Ruby の中の人 ◆VqDEEXDP8E
2008/04/15(火) 22:38:25 ID:WAeOMGRr
ってあれ、これ自分のソースか。何を言っているんだ俺。
というわけで
> :duration => 1, :delay => 2, :interval => 0
は 1 の間違いです…
51 :
名前は開発中のものです。
2008/04/15(火) 22:41:11 ID:3tODdakK
>>49 > 図にかけないな。
そうそう!
僕もそこが分からなかったんですよ。
0 になるとどうなるのかなーって。
そして、falling_blocks は中の人さんが書いたんじゃなかったのですね。
52 :
Star Ruby の中の人 ◆VqDEEXDP8E
2008/04/15(火) 22:42:17 ID:WAeOMGRr
何度もすみません。実際やってみたら図がまちがっておりました…。
やっぱり 0 が正しいです。で、
> 0 というのは極めて短い間隔で「押された」と判断する、という解釈で合っていますか?
も正しいです。
すみませんすみません…。
53 :
名前は開発中のものです。
2008/04/15(火) 22:42:56 ID:3tODdakK
>>50 え!なんだなんだ(;゚д゚)
:interval => 1 が正しいってこと?
54 :
Star Ruby の中の人 ◆VqDEEXDP8E
2008/04/15(火) 22:43:13 ID:WAeOMGRr
> そして、falling_blocks は中の人さんが書いたんじゃなかったのですね。
いや、自分で書きました。
>>47 は「こう書くとどうなるの」という意味だと空目してました。
55 :
名前は開発中のものです。
2008/04/15(火) 22:44:12 ID:3tODdakK
ちょっと僕もちゃんとコードいじって試してみよう
56 :
Star Ruby の中の人 ◆VqDEEXDP8E
2008/04/15(火) 23:02:03 ID:WAeOMGRr
そしてこっそり図を修正しました。
57 :
名前は開発中のものです。
2008/04/15(火) 23:05:16 ID:3tODdakK
あまりちゃんと検証したわけじゃないけど、とりあえず
上に書いた repeating メソッド内に出てくる
:interval は 0 の方が 1 よりもスムーズに動く。
58 :
名前は開発中のものです。
2008/04/15(火) 23:06:16 ID:3tODdakK
>>56 今 57 を図を見ながら書いてて
ページを更新したら図が変わったので
そうじゃないかと思いましたw
おつかれさまです
59 :
名前は開発中のものです。
2008/04/15(火) 23:07:54 ID:3tODdakK
この図はしっくりきますね。
今の僕のイメージとぴったり重なる。
60 :
Star Ruby の中の人 ◆VqDEEXDP8E
2008/04/15(火) 23:10:40 ID:WAeOMGRr
混乱させて申し訳ありませんでした。
Star Ruby を使っていただきありがとうございます。
61 :
名前は開発中のものです。
2008/04/15(火) 23:14:30 ID:3tODdakK
>>60 いえいえ。
こちらこそありがとうございました。
また何かあったらここに書き込むかもしれないので
よかったらまたお願いします。
62 :
名前は開発中のものです。
2008/04/15(火) 23:15:27 ID:Ky2ZHIVp
63 :
Star Ruby の中の人 ◆VqDEEXDP8E
2008/04/15(火) 23:34:24 ID:WAeOMGRr
64 :
名前は開発中のものです。
2008/04/17(木) 21:55:26 ID:/N9sorSi
Python使いだが、
ゲーム作りではRubyを使わざるを得ないようだなこりゃ
65 :
名前は開発中のものです。
2008/04/17(木) 22:35:39 ID:LbpK4gl9
66 :
名前は開発中のものです。
2008/04/18(金) 12:30:18 ID:MYeenWuR
>>65 MacOS使ってるんだけど、
object-cモジュールの兼ね合いで正常に動作しない。
一応バイナリパッケージ版でrc5版がリリースされてるけど
動作がいまいち安定してないんだよ..
67 :
名前は開発中のものです。
2008/04/19(土) 21:13:21 ID:pyAMTUL2
68 :
名前は開発中のものです。
2008/04/20(日) 02:03:18 ID:nOrmnF1m
Rubyだからその辺安心ってわけでもないがな
69 :
名前は開発中のものです。
2008/04/21(月) 20:23:31 ID:yXrZrnn7
俺は逆にOSX+Rubyでのゲーム制作は挫折しました
なんかgemコケるんだよなー
70 :
名前は開発中のものです。
2008/04/23(水) 16:14:29 ID:jxFSACYN
71 :
名前は開発中のものです。
2008/04/23(水) 20:49:52 ID:UI+EbsII
>>70 ソース見てみたが、もっと簡潔にできそうだね
72 :
名前は開発中のものです。
2008/05/01(木) 20:46:41 ID:uIZC2Vdr
保守
73 :
名前は開発中のものです。
2008/05/04(日) 08:45:24 ID:BTa1QZ3i
74 :
名前は開発中のものです。
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 :
名前は開発中のものです。
2008/05/17(土) 14:21:59 ID:9mUdty5M
動かないって具体的にどうなんのよ
エラーとか出てるならそれも書かないとわからないよ
76 :
74
2008/05/17(土) 14:24:09 ID:zKBwdQ9K
ほぼすべてにおいて下のようなエラーがでます undefined method '****'ってかんじです
sgetest.rb:15: undefined method `drawLine' for #<SDL::Screen:0x1aeca468> (NoMethodError)
77 :
名前は開発中のものです。
2008/05/17(土) 14:33:26 ID:9mUdty5M
78 :
74
2008/05/17(土) 15:31:00 ID:zKBwdQ9K
>>75 >>77 ありがとうございます
SGEを入れてSDLを再インストールしたら動きました
79 :
名前は開発中のものです。
2008/05/21(水) 13:28:10 ID:vzVpxeFw
今度のRuby Kaigi で StarRubyの中の人が出るんだね
80 :
名前は開発中のものです。
2008/06/25(水) 05:44:15 ID:dDH20x7g
STGとかでのボス戦みたいに
「画面を覆い尽くす弾幕と、派手なボムでの玉消し」とか
めっさピクセル使うときに一番軽いのって
どのゲーム制作モジュールなんだろ?
候補としてはmygame, miyako, starruby あたりなんだが。
それとも ruby/sdl だけの問題なのだろうか?
既出ネタだったらスマソ。
81 :
名前は開発中のものです。
2008/06/25(水) 07:45:42 ID:wMsF4i4Y
その三つをベンチ比較するみたいな話題はなかったと思う
もしruby/sdl自体に限界を感じてるのならruby-OpenGLも良い候補かも
82 :
名前は開発中のものです。
2008/06/25(水) 09:01:15 ID:v4+cr6Bp
>>80 StarRubyはRuby/SDL使ってないはず
だからここで比較するなら
1. Ruby/SDLで直接プログラミング
2. Ruby/SDLに中間層(MyGame, Miyako)を挟む
3. StarRuby
の三択だろう
どれが軽いかは分からん。コード内での工夫にもよるだろうし
83 :
名前は開発中のものです。
2008/06/25(水) 09:09:20 ID:wMsF4i4Y
>StarRubyはRuby/SDL使ってないはず
いやいや使ってるよ
84 :
名前は開発中のものです。
2008/06/25(水) 10:43:04 ID:pFm8UCsU
どれもSDL使ってるからピクセル合成についてなら大して変わらなそうな気がするな
たぶん描画より、「画面を覆い尽くす弾幕」の更新、ヒット判定の方がボトルネックになると思うぜ
85 :
名前は開発中のものです。
2008/06/25(水) 11:43:05 ID:0H1XKKpH
>>79 ニコ動に動画あたよ
Ruby のゲーム開発の現状と自作ゲームライブラリ Star Ruby - 星一‐ニコニコ動画(SP1)
2016/01/06(水) 17:53:20.18 ID:weS77txs
Rubyではじめるゲームプログラミング自分も読んでるんですが
Ruby-2.2-x64.msiをWindows8.1のC\にインストールして
RubyではじめるゲームプログラミングのmygameをC\にコピーして
cd c:\mygame
ruby install_mygame.rb
でエラーが出たんで
install_mygame.rbの中のrequireを
require_relativeにしてもエラーが出ます
これはどうすればいいでしょう