トップページgamedev
1001コメント465KB

【2D】ゲーム作成ツールGameMaker part2【マンセー】

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名前は開発中のものです。2005/07/12(火) 09:03:47ID:DK0oUKwt
無料Windows用2Dゲーム作成ツール"Game Maker"について、色々と語り合うスレッドです。

●本家(英語)
 ttp://www.gamemaker.nl/
●GameMaker Japan - 非公式情報サイト(日本語)
 ttp://gamemaker.main.jp/
●初心者向けチュートリアル
 ttp://gamemaker.main.jp/modules/articles/index.php?cat_id=1


前スレ: 【2D】ゲーム作成ツールGameMaker【マンセー】
http://pc8.2ch.net/test/read.cgi/gamedev/1087068523/
0844名前は開発中のものです。2008/03/26(水) 21:45:56ID:paW4cEkf
すいませんVer.5.3Aです。
0845名前は開発中のものです。2008/03/26(水) 21:46:16ID:paW4cEkf
すいませんVer.5.3Aです。
0846名前は開発中のものです。2008/03/26(水) 22:08:47ID:tIIk7RtU
スマブラのAボタンのコンボみたいというのが、漠然としすぎてよく分からない
もっと具体的に
0847名前は開発中のものです。2008/03/26(水) 22:17:44ID:paW4cEkf
1個目の攻撃のモーションが出た後につづけて攻撃ボタンを押すと、
2個目の攻撃モーションがつづけて出るみたいのにしたいんです。
パンチ→パンチ→キックみたいな。
0848名前は開発中のものです。2008/03/27(木) 02:00:03ID:CI1Rl28I
>>847
アクションあまり詳しくないからこれでいいかわかんないけど
アラームイベント2個組み合わせてコンボ入力受付期間を作ってみたらどう?
まずオブジェクトにコンボアクション発動許可用変数を用意し”0”を初期値に。
攻撃ボタン押したら1回目の攻撃を行わすとともに1つ目のアラームを起動させる。
1つ目のアラームがタイムアップしアラーム内アクションにコンボアクション発動許可用変数を”1”にして2個目のアラームを起動させる。
2個目のアラームがタイムアップしたらコンボアクション発動許可用変数を”0”に戻す。
攻撃ボタンはコンボアクション発動許可用変数が”0”の時と”1”の時で攻撃が変わるようにIf a variable has a valueで分岐させる。
とかそんな感じだと思うけど・・・まずはアニメーションスプライト用意して通常攻撃モーションとコンボモーションを作成してみては?
そこらへんはもうできてるかもしんないけど・・・
0849名前は開発中のものです。2008/03/27(木) 08:42:25ID:bXR6vAZf
ご丁寧な返答ありがとうございます。
またわからないことがあったら聞きに着ます。
0850名前は開発中のものです。2008/03/27(木) 09:37:30ID:bXR6vAZf
「攻撃ボタン押したら1回目の攻撃を行わすとともに1つ目のアラームを起動させる。」
の部分でアラームイベント内にどんなアクションを入れたらいいんでしょうか。
ご教授お願いします。
0851名前は開発中のものです。2008/03/27(木) 13:17:57ID:bXR6vAZf
解決することができました。ありがとうございます。
0852名前は開発中のものです。2008/03/27(木) 20:38:31ID:bXR6vAZf
質問なのですがアニメーションをループさせず一週でとめるにはどうすればよいのですか?
0853名前は開発中のものです。2008/03/27(木) 22:07:49ID:fgaEWE81
>>852
アニメーションエンドイベントで
image_index を最後の番号(絵が18枚ならindexは0〜17なので、17にする)にして、
image_speed を 0 にする、とか。
0854名前は開発中のものです。2008/03/28(金) 11:24:35ID:MJYJEqfl
背景をタイル張りにせずにビューについてこさせるためには
どうすればいいのでしょうか?
0855名前は開発中のものです。2008/03/28(金) 11:33:42ID:uVxOA1kY
一枚絵の背景画像を view についてこさせたいってことなら、
背景画像の表示位置は、background_x[0..9] と background_y[0..9] の変数で管理されてるんで、
0番目の背景を0番目のview左上角位置に調整したければ、
ステップイベントで以下のコードを記述すればよい。と思う。

background_x[0] = view_xview[0]
background_y[0] = view_yview[0]

背景画像がタイル化指定していたら、無効かもしれない。
0856名前は開発中のものです。2008/03/30(日) 18:19:37ID:NXbnTPzd
特定のインスタンスを常に手前側に表示させるって方法がありましたっけ?
あったら教えてくださると嬉しいです。
0857名前は開発中のものです。2008/03/30(日) 18:20:34ID:NXbnTPzd
>>856 文にミスがあったので修正
×方法が
○方法って
0858名前は開発中のものです。2008/03/30(日) 18:40:24ID:y58KxNze
depthを小さくさせる、かな。
depthが小さいほど手前、大きいほど奥に表示される。
例えば-10、0、10の3つがあったら-10が一番手前に表示される。
手前に表示したければ、その特定のインスタンスのdepthを他より小さくすればいい。
デフォでdepthは0になってるから、特に何もしてない限りdepthを-1にすれば済むはず。
0859名前は開発中のものです。2008/03/30(日) 20:25:27ID:NXbnTPzd
>>858
ありがとうございます。
解決しました
0860名前は開発中のものです。2008/03/31(月) 00:26:35ID:3gZNdKrL
>>855
ありがとうございます。コードを組み込んだらちゃんと着いてきました。
でも何故かとまるときや着地するときに背景がズレるのです。
解決方法があれば教えていただけるとうれしいです。

http://gamdev.org/up/img/11264.zip
0861名前は開発中のものです。2008/03/31(月) 01:54:01ID:VGQZQIFz
>>860
落として見たわけじゃないけど、viewの座標は
「End stepイベントの後」かつ「Drawイベントの前」に更新されるので
StepイベントやEnd stepイベントで他の座標をviewに合わせても
描画の時点でずれてしまうという問題がある。たぶんそれじゃないかな。

一般的な解決法は「Drawイベントでviewに合わせて描画する」なんだけど、
背景の描画はDrawイベントより前に実行されるのでこのケースでは厳しい。

この場合、ルームの背景自体はなし<no background>にして、
かわりにうんとdepthの大きいオブジェクトを一つ用意し、
そいつに背景を描画させるのがいいと思う。
Drawイベントの中で
draw_background(background0, view_xview[0], view_yview[0]);
みたいな感じで。
0862名前は開発中のものです。2008/03/31(月) 06:36:23ID:/Z2PGPfr
アクションゲームで被ダメージのイベントを作りたいのですが、
敵の様々な攻撃を「敵の攻撃」と、一つにまとめられないでしょうか。
「このオブジェクトに衝突したらダメージ、このオブジェクトにも衝突したらダメージ」と
オブジェクトの数だけ記述しているような状態を何とかしたいのですが。
0863名前は開発中のものです。2008/03/31(月) 13:44:36ID:3gZNdKrL
>>861
解決しました。
ありがとうございます。
0864名前は開発中のものです。2008/03/31(月) 22:40:41ID:VGQZQIFz
>>862
そのためのparent

適当なオブジェクトを一つ作ってobj_damage_parentとでも名付ける
ダメージ元のオブジェクト全部でそいつをparentに指定する
(Advanced modeをオンにしないとparentの設定は出てこないので注意)
後はobj_damage_parentとの衝突イベントだけ作ればOK
0865名前は開発中のものです。2008/03/31(月) 23:28:59ID:/Z2PGPfr
>>864
ありがとうございます
0866名前は開発中のものです。2008/04/01(火) 15:45:29ID:jcfVMQvT
>>863
>>860のファイルちらっと見たけど1つだけ
オブジェクトとかスプライトとかサウンドのリソース名が同じものがいくつかあるけど
別の名前にしておいた方がいいよ
0867名前は開発中のものです。2008/04/01(火) 16:06:42ID:jcfVMQvT
あっとそれから名前に”-”や”?”をつかうのもダメだったと思う
メニューの「Scripts」→「Check Resource Names」で
チェックしてみ
<No name conflicts were found>と出るようになったらok
0868名前は開発中のものです。2008/04/03(木) 12:01:14ID:LCg7Ks7Z
ライフバーの機能を使ってみようと思い、マウスの位置に合わせて描画されるように作ったつもりなのですが全く描画されません。
どこら辺が間違っているのでしょうか?
Sprite: <no sprite>
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent: <no parent>
Mask: <same as sprite>

Step Event:
set the health to 50
draw the health bar with size (mouse_x,mouse_y,mouse_x+200,mouse_y+30) with back color white and bar color blue

0869名前は開発中のものです。2008/04/03(木) 12:13:58ID:RldfVeQ4
drawアクションはdrawイベント内で実行しよう
0870名前は開発中のものです。2008/04/03(木) 12:26:59ID:LCg7Ks7Z
単純なことであるのに質問に答えていただき誠に感謝します。
0871名前は開発中のものです。2008/04/03(木) 15:31:34ID:hpoNHotE
livesのイメージって縦に出来ない?
0872名前は開発中のものです。2008/04/03(木) 17:47:55ID:x/yJQOmc
>>871
draw Livesアクションは横方向でしかならべられないのね。GMLでかいたらこんな感じかな?
drawイベントに「Execute a piece of code」で

for(i = 0; i < lives; i +=1)
{
draw_sprite(ライフ表示用スプライト名,-1,先頭のスプライトイメージのX座標,
先頭のスプライトイメージのY座標+sprite_get_height(ライフ表示用スプライト名) *i);
}
0873名前は開発中のものです。2008/04/03(木) 17:55:35ID:x/yJQOmc
Draw Live Images アクションだった^
0874名前は開発中のものです。2008/04/04(金) 05:13:29ID:xKOenXkz
おー、縦にできた。ありがとう
0875名前は開発中のものです。2008/04/04(金) 05:21:13ID:xKOenXkz
ってこれ減らした時に下から減っていくのは仕様なのか
0876名前は開発中のものです。2008/04/04(金) 05:32:53ID:ozKEK2lV
+を-にしたりすれば上下逆もできるんじゃ?
08778722008/04/04(金) 06:59:11ID:GCwfYrIO
>>875
仕様というかそういうんじゃなくて
draw_sprite()は描画イベントでスプライトを表示させる命令
sprite_get_height()は指定したスプライトの高さを調べる命令
そんでdraw_sprite()命令をfor文を使って単にライフの数だけ繰り返してる
for()の中で”i”は初期値が”0”で1回処理されるごとに1づつ増えていくからsprite_get_height()*iとすることで
スプライトの高さだけずれて描画されていってる
>>876氏のいう様に”sprite_get_height(ライフ表示用スプライト名) *i”の前の符号を-にしたら下から上になる
0878名前は開発中のものです。2008/04/04(金) 08:31:17ID:xKOenXkz
なるへそ。
ちょっと考えればわかることだね、お恥ずかしい。
勉強になります、ありがとう
0879名前は開発中のものです。2008/04/04(金) 11:47:17ID:UN21xGR5
クリックした時にそのクリックした位置が
そのオブジェクトより上だったならそのオブジェクトの画像を後ろ向き、下なら前向き、左なら左向き、右なら右向き・・・ってな感じで変える方法は無いでしょうか?
右斜め下とか8方に作りたいのです。

それとクリックした位置にオブジェクトを移動させる(一瞬でじゃなくそこまでの道程を通って)のはどうすれば良いのでしょうか?


初歩的な質問ですみませんがよろしくお願いします。
0880名前は開発中のものです。2008/04/04(金) 23:37:08ID:atXFd6s2
http://rapidshare.com/files/104815717/test.gmk.html
0881名前は開発中のものです。2008/04/04(金) 23:44:49ID:atXFd6s2
ゴメン、ミスったぜ
http://www.uploda.org/uporg1350943.gmk.html
pass:GM
0882名前は開発中のものです。2008/04/05(土) 01:54:06ID:28WyvbPP
>>881
すみませんがGM6なので開くことができません・・・。
それともGM6で開く方法もあるのでしょうか?
0883名前は開発中のものです。2008/04/05(土) 04:41:45ID:/7lMTMqT
Object1
Step Event:
set variable image_angle to direction
Object2(追尾させたいスプライト)
Step Event:
if left mouse button is pressed
for all honoo: perform a step towards position (mouse_x,mouse_y) with speed 10 stop at solid only
GM6だと開けないのか〜
0884名前は開発中のものです。2008/04/05(土) 04:46:32ID:mh+kpRIe
俺普段はGM5使ってるけど
中身見る用にGM7も入れてる
0885名前は開発中のものです。2008/04/05(土) 05:54:37ID:/7lMTMqT
書き間違えました。
上から7行目のhonooってのはObject2のことです。
0886名前は開発中のものです。2008/04/05(土) 08:08:06ID:Q8dvYXzo
ここの住民的にニコニコ動画(VS)ってどうなんだ?
外部データからキャラクターの追加とか
結構システム設計まわりをがんばってるみたいだが。
0887名前は開発中のものです。2008/04/05(土) 13:27:36ID:/7lMTMqT
なかなか良いと思ってるよ。
キャラを後から追加できるなんて良心的だよね。
俺ならキャラデータを丸ごとexeにブチ込んでアップデートのたびに
大容量のデータをいちいちダウンロードさせてる所だよ。
開発が長引いたのはうp主が忙しかったからかな?
0888名前は開発中のものです。2008/04/05(土) 14:18:21ID:28WyvbPP
後から外部からデータ追加とかどうやってるんだろ
0889名前は開発中のものです。2008/04/05(土) 14:52:56ID:/7lMTMqT
Replace a sprite from a fileを使えばおk
0890名前は開発中のものです。2008/04/05(土) 21:57:34ID:/7lMTMqT
自らを生成したオブジェクトを指定する関数っていうのはありますか?
0891名前は開発中のものです。2008/04/06(日) 00:30:38ID:jpfm9sAG
>>890
ないので自分で誰が作ったか覚えておかないといけない。
・instance_createは生成したインスタンスのIDを返す
・自分自身のインスタンスIDはidでとれる
ので

aaa = instance_create(x, y, object0);
aaa.createor = id;

としてやると、object0の中からはcreatorで自分を作ったインスタンスを参照できる。
0892名前は開発中のものです。2008/04/06(日) 14:46:53ID:+Z1B7XWC
>>891
ありがとうございます
0893名前は開発中のものです。2008/04/06(日) 15:05:43ID:EU0AU+S4
オブジェクトBの位置までオブジェクトAが移動して、オブジェクトBの位置についたら移動を停止する。というのはどうすればよろしいのでしょうか?
0894名前は開発中のものです。2008/04/06(日) 17:03:33ID:+Z1B7XWC
>>893
step towardsのx座標に「ObjectB.x」y座標にも同じく「ObjectB.y」って入れれば
ObjectBが目標の座標になるよ。
0895名前は開発中のものです。2008/04/06(日) 17:45:37ID:EU0AU+S4
>>894
おお・・・こんな簡単に・・・ありがとうございます><
0896名前は開発中のものです。2008/04/06(日) 18:30:55ID:EU0AU+S4
すみませんがもう1つお願いします。

現在このようなゲームを作っているのですが↓
http://gamdev.org/up/img/11284.zip
クリックした時、オブジェクト0が進行方向(オブジェクト1のある方向)と
同じ向きの矢印スプライトに変化する様にするにはどうすれば良いのでしょうか?

解り難い説明ですみませんが、ご存知の方よろしくお願いします。
0897名前は開発中のものです。2008/04/07(月) 00:07:19ID:ip9v6GLB
【速報】らき☆すた二期決定でアニオタ歓喜wwwwwwwwww
http://jbbs.livedoor.jp/bbs/read.cgi/sports/26525/1204784207/
0898名前は開発中のものです。2008/04/07(月) 05:30:29ID:wG6ko/jv
>>896
zip落せなかった;;
image_angleの値をdirectionにすれば楽にできるけどレジストバージョンしか出来ないかもしれないから、
レジストじゃなかったらdirectionの角度ある程度の範囲になったらになったらChange the spriteを使う方法があるよ
大雑把な説明だけどzipがどんなのか確認できたらもっとわかりやすく書くかも。
0899名前は開発中のものです。2008/04/07(月) 09:53:52ID:PrCqy7fg
>>898
私のPCではちゃんと落とせるのですが・・・
再うpしてみましたのでこちらはどうでしょうか?
ttp://gamdev.org/up/img/11292.zip
0900名前は開発中のものです。2008/04/07(月) 13:17:17ID:wG6ko/jv
私のはGM7なのであえて記述させてもらいます

Information about object: object0

Sprite: sprite2
Step Event:
perform a step towards position (object1.x,object1.y) with speed 5 stop at solid only
set variable image_angle to direction

Information about object: object1
Sprite: <no sprite>
Mouse Event for Glob Left Button:
move to position (mouse_x,mouse_y)

なお、これはレジスト用です、レジストでない場合はimage angleが使えないので
Ifステートメントとchange spriteを組み合わせるしかないでしょう。
私はまだ日が浅く、その場合の方法は考え付かなかったので非公式サイトあたりで聞いてみてください。
0901名前は開発中のものです。2008/04/07(月) 23:37:03ID:5Vpyn9U6
某東のほうのSTGの魔女っ娘みたいな極太レーザーを表現したいんですけども
どうすれば極力ゲームが軽く仕上がるでしょうか?
0902名前は開発中のものです。2008/04/08(火) 00:43:47ID:1aWF0Oei
>>901いまどきのマシンスペックなら少々無茶やっても速度落ちないと思うけど?
ただimage_xscale,image_xscaleでスプライトを拡大すると処理負荷がかかるっていうのはあるのかな?
以下gamemaker helpの「ゲームの仕上げ」→「ゲームの速度について」より引用
>ほとんどのグラフィックカードは、効果的に画像を拡大することが出来ますが、その処理のために重くなります。
だそうです

自分は400×480のルームに画面半分近いぐらいのボスを作ってみたけど
PVマシンでもルームスピードが落ちることはそうなかったですよ?
んで純粋にレーザーの作り方はというと
普通に弾撃たす処理と対して変わらないかと思います。
要はレーザー発射源オブジェクトのインスタンスよりレーザー用のインスタンスを切れ目なく生成して
その時一緒にdirection,speedの数値をレーザー用のインスタンスに与えてあげたらいい。
切れ目なく生成するというのはアラームイベントを使えばよくて、この時「number of steps」の数値が大きすぎると
レーザー1コマ1コマの間が長くなるから隙間が生じる。
答えになってるかどうか心配ですが。一応ここまででレス切っておきます。
0903名前は開発中のものです。2008/04/08(火) 11:32:50ID:PGw82Ekz
GMに興味あるんだけど、ここ見てると書式結構独特ぽいな…
やってる人はけっこうサクっと順応できたのかな。
0904名前は開発中のものです。2008/04/08(火) 21:09:24ID:lWzhg9Ri
>>903
ここ数レスのはアイコンの内容を言葉で説明したものであって、
実際にああいうコードを打つわけじゃないですよ。

Game Makerではオブジェクトの動作を定義するのに
「アクション」というアイコンをポチポチ並べていく方法と、
「GML」という言語で直接コードを書く方法があって
習熟度に応じててきとーに混ぜて使えます。

GMLの文法はCとほぼ同じ(一部Pascal要素あり)なので、
ある程度プログラミングの経験があればすんなり覚えられるはず。
たとえば>>900は2箇所のイベントにアクションを3つ置いた様子を
表しているけれど、同じ内容をGMLで書くとこうなります。

// object0のStepイベント
mp_linear_step(object1.x, object1.y, 5, false);
image_angle = direction;

// object1のマウスボタンイベント
x = mouse_x; y = mouse_y;
0905名前は開発中のものです。2008/04/08(火) 23:29:01ID:C/r/gPzk
>>902
後者で試してみようと思います
ありがとうございました!
09069002008/04/09(水) 03:31:08ID:R1oJ6a1A
>>904
ああ、そうなのかー…なるほどなあ…
わざわざ丁寧にありがとうございます。

以前豆乳システムとかもいぢってたんで、
C言語に似てるなら結構早めに覚えられそうですね。
0907名前は開発中のものです。2008/04/09(水) 06:41:45ID:n+SEEGKi
自分はhspでゲームが簡単に作れるって聞いたもんだから実際に触ってみたらサッパリ理解できなかった。
それに比べてGMなら2週間くらいで大体使えるようになった。
0908名前は開発中のものです。2008/04/11(金) 18:09:33ID:AT/nfPM9
>>900
遅くなりましたがありがとうございます。
レジスト、というのがどのような物なのか解りませんが・・・。
それとスレ違いかも知れませんが非公式のフォーラムに書き込むことが出来ないのですが私だけでしょうか?
0909名前は開発中のものです。2008/04/11(金) 20:34:53ID:LqedxyKD
非公式サイトはユーザー登録してからフォーラムで「新規に投稿」押せば書き込めるよ。
あとレジストは料金を支払って制限解除したバージョンのこと。
良く分からない単語使ってゴメンネ
0910名前は開発中のものです。2008/04/11(金) 20:37:53ID:EEx5djbh
>>908
レジストとは、お金を払ってプロダクトキーを貰い、使用制限を解除することです。
0911名前は開発中のものです。2008/04/11(金) 20:38:20ID:EEx5djbh
おおう、更新すれば良かったorz
0912名前は開発中のものです。2008/04/12(土) 11:01:55ID:eNZFgCaH
>>909,910
ありがとうございます。
なるほど、有料登録ですね
0913名前は開発中のものです。2008/04/18(金) 10:19:47ID:3dx+PVyf
ちょっと参考までに、日本語圏でのGM作品を見てみたいんだが、
有名所で、GM作品を公開してる人っているかい?
0914名前は開発中のものです。2008/04/18(金) 20:35:49ID:xHO8JEqh
ニコニコのミックマンXやニコニコアクションゲームとかなら知ってるけど。
ニコニコでgamemakerを検索するとちょっぴり出てくる。
0915名前は開発中のものです。2008/04/27(日) 05:53:10ID:2l2AKY8C
これダウンロードできなくね?
0916名前は開発中のものです。2008/04/27(日) 11:06:31ID:CLNLyEnS
英語だらけだから難しいよね
俺もダウンロードするのに一日かかった
0917名前は開発中のものです。2008/04/29(火) 09:44:12ID:2d8FpwgV
登録しねーとDLできないのか?
0918名前は開発中のものです。2008/04/29(火) 11:59:36ID:YwZZ6j+f
基本的に登録してからダウンロードしたほうがいい。
けど、
ttp://www.yoyogames.com/gamemaker/try_download
からDL出来ると思う。
0919名前は開発中のものです。2008/04/30(水) 21:35:13ID:wqvUGn48
6.1で3Dポリゴンにテクスチャを張りたいのですが、色々試しても黒く表示されるだけでどうにも……

どうコードを組めばうまく表示されるか誰かアドバイスくれませんか?
0920名前は開発中のものです。2008/05/01(木) 00:53:19ID:TumL990E
その「色々試した」の中身が重要なわけだけども。

まあ、仮にテクスチャはちゃんと取れているものとして。
描画するのにcolorが付かない方のd3d_vertex_textureを使ってるとすると
その場合テクスチャは現在設定している色でブレンドされる。
draw_set_colorしてないと初期値は黒だから、結果も真っ黒になるよ。

もしそうだとしたら、先頭でdraw_set_color(c_white)してみて。
0921名前は開発中のものです。2008/05/01(木) 05:57:14ID:boSZuiu9
>>920
ありがとうございます!
まさしくそれでした(^^;

こんな簡単なミスだったとは……
0922名前は開発中のものです。2008/05/01(木) 22:44:02ID:QlMWKAXW
すごい漠然とした質問なんですが

画像を1、2、3って表示させるときに
1の画像が前面、3の画像が背景側に表示させる方法ってあります?

GML非公式サイトでdraw関連のコードがあまり説明されてなかったので。。。
0923名前は開発中のものです。2008/05/01(木) 23:27:03ID:lT+h3RUS
簡単なのは 画像1 画像2 画像3 をスプライトに持つオブジェクトを作って、 depth で指定する方法。
depth の数値が大きくなると上に重なる。はず。

draw イベントで処理したいなら、基本的に画面上に上書きされるので、下になるほうを先に描画すればいい。
0924名前は開発中のものです。2008/05/02(金) 02:15:50ID:IG1MecUh
305をそのまま使って、新しいオブジェクトを作って設置し
、すり抜けてみたんですが、solidにチェックがついてない
のに、接触した状態で立ち止まると、壁にはまったときと
同じ動作になってしまいました・・・


座標チェック時に、対象インスタンスIDがSolid属性の場合のみ
壁判定という動作にしてみようかと、以下のようにやってみんですが
うまく動かないようです・・・

nulld = !place_empty(x-1,y)
if nulld.solid == 0
{
壁回避コード
}

うーん。。。コリジョン難しい
0925名前は開発中のものです。2008/05/02(金) 02:35:04ID:20oP59U2
place_emptyが返すのはIDじゃなくてtrue/falseだから……
相手のIDが欲しければinstance_place使う。

solidの判定も逆のような気がするけど、それ以前にそもそも
place_free使えばsolidのオブジェクトだけチェックしてくれるよ。
0926名前は開発中のものです。2008/05/02(金) 07:25:07ID:IG1MecUh
>>925
なるほど。。。そうだったのか。
ありがとうございます。

うー、日本語マニュアルがほしぃ。。。
0927名前は開発中のものです。2008/05/03(土) 12:42:03ID:CaNFTODT
逆に考えるんだ、「英語の勉強になる」。そう考えるんだ。 トェェェェイ

ところで、これで某有名同人弾幕シューティングの二次創作tkっているが
弾幕ww、弾幕が再現できねぇwwww
0928名前は開発中のものです。2008/05/03(土) 14:24:24ID:9QsVrF2b
仲間発見
0929名前は開発中のものです。2008/05/03(土) 15:59:55ID:3a9tSZMK
>>927
俺は某同人弾幕STG風オリジナルSTG(つまりパクり)作ってるが、まずはn-way弾を発射するスクリプトを書くんだ!
0930名前は開発中のものです。2008/05/03(土) 17:55:29ID:TpBQZjg2
ロードの際「セーブデータのフォルダがある」「ゲームのセーブデータがある」時だけロードボタンを押せるようにしたいのですが
そういったデータの有無を内部で確認させる方法はありますか?
0931名前は開発中のものです。2008/05/03(土) 18:07:56ID:9QsVrF2b
exist系のを使えばできるはず。directoryとかfileとか。
マニュアルで検索かけてみ。
0932名前は開発中のものです。2008/05/03(土) 21:32:29ID:O2xyPtem
>>927-929
こんなに俺がいたとは
今ではn-wayを手動でやってたときが懐かしいです
0933名前は開発中のものです。2008/05/03(土) 21:53:01ID:XU6M82BJ
板違いなんでしょうが、
シューティングとかで弾を撃つアクションはどれになりますか?
誰か教えてくださいな〜
0934名前は開発中のものです。2008/05/04(日) 06:21:13ID:2fBGUOBZ
「シューティングで弾を撃つアクション」とか、「RPGで敵を攻撃するときのダメージ設定」とか、
そういった類のアクションはなく、自分なりにデザインして、自分で一から作るのがGM。

簡単に言えば、弾を撃つってことは、弾というオブジェクトを作り、それをある速度で飛ばせばいい。
0935名前は開発中のものです。2008/05/04(日) 06:27:00ID:2fBGUOBZ
……でも、もし弾幕STG作るんだったら、弾幕風で事足りる気がする。連投失礼。
0936名前は開発中のものです。2008/05/04(日) 08:24:53ID:lNeW/IjQ
>>934
なるほど。。オブジェクトを作って飛ばす訳ですか。
大体解りました〜ありです。
0937名前は開発中のものです。2008/05/04(日) 20:03:25ID:lNeW/IjQ
今934さんに教わった後頑張って色々やったのですが、
何点か分からない点や仕方のわからない点が出てきました。。
もし良かったら教えてください。
・弾の発射に間隔を付ける方法
・一部状況下(俺の言いたいのはジャンプ中)での発砲不可
・一定の数の弾を発射後何秒間か使用不可(要するにリロード)
・↑の間モーションが入るようにする方法

教えてください〜
0938名前は開発中のものです。2008/05/04(日) 20:26:08ID:LG4ZPs/B
>>937は変数について理解してるか?
上三つは、変数が必要になる。
・弾の発射に間隔を付ける方法 → 発射可能を表す変数
・一部状況下(俺の言いたいのはジャンプ中)での発砲不可 → ジャンプ中かどうかを表す変数
・一定の数の弾を発射後何秒間か使用不可(要するにリロード) → 残弾数を表す変数

そして条件分岐だ。上から順に、
・弾を撃つ際に、発射可能変数を条件分岐に使い、可能の値だったら(例えば1)弾を撃てるようにする。そうでなければ何もしない。
 で、弾を撃ったら 変数を不可能を表す値(例えば0)にして、タイマーイベントを発動。(アクションのタイマーを利用する)
 タイマーイベント中で変数を可能状態(1)にする。

・着地状態からジャンプに移行したときに、ジャンプ中を表す変数の値をジャンプ中の値(例えば1)にする。
 ジャンプの状態から着地状態になったときに、変数の値を着地状態(例えば0)にする。この変数を使った条件分岐を、撃つ時の条件に加えよう。

・弾を撃つごとに残弾数を減らす。弾を撃つときに条件分岐を付け加え、残弾数が0ならリロードモーション(自作するべし)を起こすようにする。

リロードのモーションは、モーション専用のオブジェクトを作って、オブジェクト変更アクションを利用するのがいいかもしれない。
そのときは、モーション専用オブジェクトで、モーションが終わったら元のオブジェクトに戻すことを忘れずに。
アニメーションエンドイベントをうまく利用すると楽かもしれない。用語とかでわからないことは、>>1の非公式サイトで調べてみ。
長文・乱文失礼。
0939名前は開発中のものです。2008/05/04(日) 20:34:11ID:lNeW/IjQ
>>938
なるほど
それを行っている事を変数で表して、可能不可能をその変数の状態で判断させるわけですか
変数はあまり得意ではありませんが、色々やってみます。
ありがとうございました。
あ、後ここでこうやって質問して良い物なんですか?
板違いじゃないかとずっと気がかりでして。。
0940名前は開発中のものです。2008/05/04(日) 20:52:37ID:LG4ZPs/B
>>939
まあ、過疎ってるし個人的にはいいんじゃないのかなとは思うけど。
質問以外の話題がほとんど無いし。。
教えてクレクレ君だらけになったらなったで、つらいんだけどねw
0941名前は開発中のものです。2008/05/04(日) 20:57:40ID:lNeW/IjQ
やっていく内にわからなくなってきました。。
発射可能を表す変数 これはなんと表すことになるんですか?
例として教えてください
0942名前は開発中のものです。2008/05/04(日) 21:16:10ID:smFSYJ2D
n = 3
これを発射回数として
一回打つたびに-1してやって
0の時には打てなくすればいいのかな・・・
俺も初心者だから参考にならないかも;
0943名前は開発中のものです。2008/05/04(日) 21:21:43ID:lNeW/IjQ
>>942
返答ありがとうございます。
そういうのの総合的な並べ方がわからないんですね〜>>941の文が分かりづらくてすみません。。
0944名前は開発中のものです。2008/05/04(日) 21:29:00ID:smFSYJ2D
{
n = (n-1)
if n > 0
{
instance_create(x,y,bullet)
}
}

こんな感じでしょうか・・・
もっといい方法があると思いますが自分にはわかりません;
レス数が900を超えています。1000を超えると表示できなくなるよ。