[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 13:07 / Filesize : 345 KB / Number-of Response : 973
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:名前は開発中のものです。 [2005/07/12(火) 09:03:47 ID: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【マンセー】
pc8.2ch.net/test/read.cgi/gamedev/1087068523/

805 名前:802 mailto:sage [2008/02/22(金) 00:23:23 ID:9TIiCCE7]
おお、お役に立ててよかった。
おそらく原因は、sprite_delete() を入れていなかった、もしくはタイミングが悪かった点でしょうね。
問題が解決できそうで何よりです。開発がんばってください。

806 名前:名前は開発中のものです。 [2008/02/22(金) 00:58:19 ID:GgtMRHOI]
公式は、7正式出てから動きまったくなし?

807 名前:名前は開発中のものです。 [2008/02/22(金) 22:28:56 ID:EnGdlCfo]
>>806
だね
もうあれでほとんど安定してるし
得にバグとか更新とかもないし
更新されるのは8が出てからかもね
8が出るのも相当後だと思うけど

ところでGameMakerって外部ファイルtxtとかって読み込めたっけ

808 名前:名前は開発中のものです。 [2008/02/22(金) 23:22:21 ID:GgtMRHOI]
>>807
今出先だからわかんないけど、上の方で外部ファイルから変数を読み込んでって話題があったときにためしたら出来た記憶がある。

809 名前:名前は開発中のものです。 [2008/02/23(土) 21:16:37 ID:3ZZOv+FT]
Draw the value of scoreの使い方がよく分からない・・・
誰か詳しく説明してください。お願いします。

810 名前:名前は開発中のものです。 mailto:sage [2008/02/24(日) 00:38:27 ID:410jBEd1]
>>809
使い方と言っても、xとyにスコア表示したい座標入れるだけなんだけど…
とりあえず(0, 0)のままでも画面左上に何かしら出るでしょ。

アクションをDrawイベントに置くこと、Visibleにチェック付けておくこと、
オブジェクトをルームの中に置いとくこと、以上3点忘れずに。

811 名前:809 [2008/02/24(日) 10:24:15 ID:+SnWXLhW]
>>810
Visibleにチェックをつけるという意味がよくわからなかったが、
ちゃんと動きました。ありがとうございます。

812 名前:名前は開発中のものです。 mailto:sage [2008/02/24(日) 11:48:45 ID:2Py4k7Q8]
Object Properties

Name: [        ]
 Sprite
  [      ]
   [ New ] [ Edit ]

□Visible  □Solid
Depth: [         ]
(以下略)

↑のVisibleのチェックボックスのこと。
デフォでチェックが入ってるから問題無かったんだろうけど。
これにチェックが入ってなかったら、例え何をしても何も表示されない。
動いたらしいしもういいんだろうけど、一応念の為。

うっかりしてると>>810が言った3つを忘れてしまいがち。
見直してて原因を見つけたとき「そりゃ表示されるわけねーわなw」となる。

813 名前:名前は開発中のものです。 mailto:sage [2008/02/25(月) 16:38:49 ID:N0LtIPkd]
オブジェクトのイベントにある
outside view が働いていない気がする



814 名前:名前は開発中のものです。 mailto:sage [2008/02/25(月) 17:48:56 ID:NE2+oADS]
>>813
バグだろうねぇ。公式のコミュニティにも話題が出てたよ。
ttp://gmc.yoyogames.com/index.php?showtopic=316899

現状だと、outside view イベントのかわりに boundary view イベントを使って、
そこで以下のコードを書くと、期待通りに動くようだ。

/* view 0 に対して、処理する場合 */
if (x-sprite_xoffset+sprite_width < view_xview[0]
|| x-sprite_xoffset >= view_xview[0]+view_wview[0]
|| y-sprite_yoffset+sprite_height < view_yview[0]
|| y-sprite_yoffset >= view_yview[0]+view_hview[0]) { // スプライトが完全に view から外に出たかどうかを判定している
  // ここにコードを書く
}

コードが書けないなら、 if の()内の式全てを
Test Expression (?の描いてある八角形のアイコン) の expression に貼り付ければOK。

ステップイベント内で同様にやっても多分OKだが、
毎ステップ判定処理をしてしまうんで、処理コスト的に不利だろう。

815 名前:名前は開発中のものです。 [2008/02/27(水) 15:04:31 ID:imokwZIU]
中国奇形動物の画像【苦手な方は閲覧を御遠慮下さい】
d.hatena.ne.jp/tsukkun/20061211/p3
鼻二つに眼が三つの子牛. 頭一つに身体二つの子豚. 単眼の子豚. もはや原形を
とどめない子豚. 4本足のヒヨコ・・・ (ここではヒトの奇形は詳しく紹介しませんが、
中国語「畸形」(簡体字・繁体字ともに)でインターネット検索をしたら・・・)

奇形や病死した牛や豚も加工されてしまえば見分けが付きません。
detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1414601269

中国、奇形児発生の原因とみられる重金属汚染
iwasero.blog66.fc2.com/blog-entry-240.html
・毒性の強い添加物や防腐剤を使用するケースが多い
・重さをごまかすのに牛や豚に水を注入したり、大量の食塩を食べさせる

【海外】中国:環境汚染
blog.livedoor.jp/gochagocha/archives/cat_50235110.html

腐った上海の海、必見グーグルアース
temple.iza.ne.jp/blog/entry/170885
地球上いたるところに湖がありますが、中国の湖ばかりが蛍光色に
光り輝いています。異常です。

中国の蛍光色7色に輝く河川
hinden.at.webry.info/200712/article_4.html
病気になったら抗生物質に汚染された魚を食べて治すという。すごい「薬膳」ですね。


816 名前:名前は開発中のものです。 mailto:sage [2008/02/28(木) 18:44:34 ID:o8q2cNq4]
ちょっと興味あるけど自機の移動も作れないしGMLとかわけわかめでもうだめだ

817 名前:名前は開発中のものです。 mailto:sage [2008/02/29(金) 02:55:26 ID:x+l1o480]
強制はしないけど、興味があるんだったら、いきなり作りたいものを作ろうとせずに、まずはチュートリアルに沿って一度作ってみるといいよ。
逆に、作りたいものを作るためにはどんなことを覚えなきゃいけないか、って感じで入ると滅入ると思う。
チュートリアルの通りに作って、わからなくなったらExampleを見て、どうやってるのかを参考にしたり。
GMLを使わなくても、シンプルなゲームなら十分作れるから、GMLに触れるのはある程度慣れてからで十分。

最初のうちは、「何が起きたらどれをどうする」といったことを決めていく、と考えるといいかもね。
右を押したら右に行く、弾が自機に当たったら爆発する、とか。
「チュートリアルなんて面倒」とか思わずに。無駄にはならないよ。

818 名前:名前は開発中のものです。 [2008/03/07(金) 01:56:07 ID:/zU2Jm/L]
これ商用で配布とかは可能なの?
どこに書いてあるかわかんないんだけど

819 名前:名前は開発中のものです。 mailto:sage [2008/03/07(金) 02:03:53 ID:li5Lf13v]
確か可能なはず

820 名前:名前は開発中のものです。 mailto:sage [2008/03/07(金) 02:58:15 ID:r5pkyD7y]
つttp://www.yoyogames.com/wiki/show/Sample+EULA

821 名前:名前は開発中のものです。 [2008/03/07(金) 21:49:20 ID:/zU2Jm/L]
>>819,820
サンクス


822 名前:名前は開発中のものです。 mailto:sage [2008/03/10(月) 16:38:14 ID:qJ6+/ltX]
>>819,820
セブンイレブン

823 名前:名前は開発中のものです。 mailto:sage [2008/03/11(火) 20:45:46 ID:EJkJUT5l]
親インスタンスの設定と当たり判定の設定がまとめを見てもわからない・・・
GM7だとやり方が変わってるのでしょうか?
もしそうなら誰か設定の仕方を教えてくれませんか?



824 名前:名前は開発中のものです。 mailto:sage [2008/03/11(火) 21:53:46 ID:c68BSDCd]
別に変わってないはずだけど
ParentとかBounding Boxが見つからないって話だったら
まず File >Advanced Mode にチェックつける

825 名前:名前は開発中のものです。 mailto:sage [2008/03/11(火) 22:02:17 ID:EJkJUT5l]
>>824
d
advanced modeにチェックを入れたら見れるようになりました
ありがとうございました

826 名前:名前は開発中のものです。 mailto:sage [2008/03/16(日) 11:21:30 ID:7GR4thT4]
インスタンスIDを使って、当たり判定の位置調節をしているのですが、
存在するIDを指定しているのに、時々そんな変数しらねぇよといわれてしまいます。
おそらく、instance_changeの時に何か起こっているのだと思うのですが・・
立ち状態のインスタンスのIDを保存して、攻撃やダメージの際に、
instance_changeを利用しています。

立ちインスタンス←ここのIDを保存している
└攻撃1インスタンス
└攻撃2インスタンス
└ダメージインスタンス

if(adjust){
if(player == 1 && global.cpu_1){
x = (global.com1).x + (global.com1).hspeed + posx;
y = (global.com1).y + (global.com1).vspeed + posy;
}else if(player == 2 && global.cpu_2){
x = (global.com2).x + (global.com2).hspeed + posx;
y = (global.com2).y + (global.com2).vspeed + posy;
}else if(player == 3 && global.cpu_3){
x = (global.com3).x + (global.com3).hspeed + posx;
y = (global.com3).y + (global.com3).vspeed + posy;
}else if(player == 4 && global.cpu_4){
x = (global.com4).x + (global.com4).hspeed + posx;
y = (global.com4).y + (global.com4).vspeed + posy;
}
}

827 名前:名前は開発中のものです。 mailto:sage [2008/03/16(日) 13:35:59 ID:V0YG+k5o]
インスタンスを変更すると、1ステップの間そのインスタンスは
「存在するけど存在しない」みたいな不安定な状態になるらしくて
「instance.variable」みたいにドット使って変数を参照するとエラーになる。
やっかいなのは、インスタンス自身は存在するので
instance_existsとかでチェックできないこと。

対策としては、with使ってその中で変数使えばエラーは出ない。
with (global.com1) {
other.x = x + hspeed + other.posx;
other.y = y + vspeed + other.posy;
}
みたいな感じで(withの中ではotherが元のselfになるのに注意)

インスタンスの変更は変数の継承がらみでもややこしい問題があるので、
できるだけ使わずにすませた方がいいよ。
この場合、オブジェクト一つだけでよくない? 当たり判定はmaskで変えられるよ。

828 名前:名前は開発中のものです。 mailto:sage [2008/03/17(月) 10:22:50 ID:RBuRFwrN]
>>827
なるほど・・わかりやすい説明ありがとうございます。
ダメージモーションの種類が4、攻撃の種類が40、その他死亡モーションや、
予備動作などがあって、一つのオブジェクトで作ると、
俺の頭がこんがらがってしまったので分けましたが、
実際のところは分けないほうが最終的にわかりやすいんだろうなぁ・・。
やっぱり自分の力量に応じて仕様というか、
ある程度妥協した方が結果的にいい場合もあるんでしょうね。


829 名前:名前は開発中のものです。 mailto:sage [2008/03/17(月) 13:07:23 ID:0WhHqNl0]
モーションってのがただ単にスプライトのことだったら、スプライトの入れ替えだけで済むし(sprite_indexの変更)、
全てのスプライトを1つにまとめて、subimageの値を決めることでも解決する。(image_indexの範囲指定)
スプライト以外だとしても、そのインスタンスの状態(ダメージ、攻撃中、移動中等)で場合分けをするといいだろうね。(step内でswitchを使って場合分け)

インスタンスを変えるということは、今あるインスタンスを削除して、新しくインスタンスを作るということ。
敵を攻撃したり、ダメージを受けたりする度に自分が生まれ変わるってのも変な話だよね?
インスタンスを変えていると、システム的なエラーだけじゃなく「エラーメッセージは出ないけど、自分の意図した通りにならない」というエラーも起こりやすい。
だから、場合分けをインスタンスの変更でするんじゃなくて、オブジェクトの中で場合分けをするように作っていく方がいいよ。

830 名前:名前は開発中のものです。 mailto:sage [2008/03/17(月) 20:51:48 ID:zfMhFuyL]
さっきレジストしたんですが、バックアップCDってのは別にいらないですよね?

831 名前:名前は開発中のものです。 mailto:sage [2008/03/17(月) 21:11:55 ID:9xiWBLkG]
特定のボタンを押したり画面内のボタンをクリックしたらいったんその画面の動きを止めて
画面上に別のメニュー画面などを表示させたいのですがどうすればいいでしょうか。

832 名前:名前は開発中のものです。 mailto:sage [2008/03/17(月) 22:38:19 ID:lI4Ks6j6]
>>831
お手軽なのはshow_menu。当然メニューとしてはしょぼいけど。

キー操作だけでよければ、keyboard_waitでループ回しつつ
キー処理をしてメニューをがしがし描き変えるという方法がある。
サンプルで付いてくるasteroidsが参考になるかな。
ただ、このやり方はメニューの構成が複雑になると厳しい。

一般的なのはポーズする時にグローバル変数を設定しておいて、
他のオブジェクトはその変数が立っている間動きを止めるというもの。
ただ、止めないといけないものは意外とたくさんあるので(gravityだとか
alarmだとかアニメーションだとか)、ゲームが複雑になるにつれて
ちゃんとメンテするのが難しくなってくる。正直労力に見合わない。

本格的にやるなら、background_create_from_screenで
今の画面を背景画像に設定してから
instance_deactivate_allでインスタンスを全部非アクティブにしてしまう。
それからメニュー用のオブジェクトを配置する。
これならマウス使ったりメニューオブジェクトを動かしたりするのも自由だし、
メニュー抜ける時の後始末さえしっかりやれば一番実装しやすいと思う。

833 名前:名前は開発中のものです。 [2008/03/23(日) 14:48:57 ID:CEb9FX4l]
タイトル画面のメニューとして使うスプライトを外部から読み取ろうとしているのですが、

(Start/Option/Endの3項目があるとして)

1) あらかじめ3つの項目を横一列に並べた画像「title.gif」を作っておく。
ゲーム実行時にtitle.gifから、3つのサブイメージを持ったスプライト「sprite_title」を作る。
3つのオブジェクト「obj_start」「obj_option」「obj_end」のスプライトを全て「sprite_title」に設定する。
image_singleを、obj_startは0、obj_optionは1、obj_endは2に設定する。

(つまり、3つのサブイメージを持った1つのスプライトを使い、表示させるものを変える)

2) あらかじめ3つの画像「start.gif」「option.gif」「end.gif」を作っておく。
ゲーム実行時にそれぞれの画像をロードして、「sprite_start」「sprite_option」「sprite_end」の3つのスプライトを作る。
オブジェクト「obj_start」に「sprite_start」を割り当てる。他二つも同様。

(このとき、1つのオブジェクトに対してサブイメージは1つだけ)


1と2でメモリ浪費等で違いはありますか?

できれば1の方法を使いたいのですが、そうするとそれぞれのオブジェクトが、
表示されないサブイメージを2つずつ持っていることになり、これは無駄になるのかなと。
ならないのであれば、不要になったときに消すスプライトが一つで済むのですが。
詳しい方、教えてください。



834 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 21:06:26 ID:vPqoB7Ec]
試してないからわからないけど、多分同一スプライトを複数のオブジェクトから参照しても、
メモリ上にスプライトを複製するようなことをしない、と思う。。。
1の方法でいいんではないかな。


835 名前:名前は開発中のものです。 mailto:sage [2008/03/23(日) 21:32:39 ID:PWwLtvC1]
その「sprite_title」がグローバル変数で、ロード(sprite_add)を1回しかしないなら
スプライト1つ分のメモリしか使わない。ローカル変数でそれぞれのオブジェクトが
個別にsprite_addするなら、当然スプライト3つ分のメモリを使う。
なので(1)と後者の方法の組み合わせだとメモリを無駄に使うことになる。
他の組み合わせだと使用量は同じかな。

でも、メモリの節約だけが目的なら、単にスプライトのプリロードをオフにする
(GM5の場合は遅延ロードをオンにする)で十分だと思う。
これだと必要な時に自動的にロードして、ルームの終了時に自動的に解放もしてくれるよ。

836 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 02:31:39 ID:jcEogdo3]
>>834,>>835
有難うございました。1の方法でロードすることにします。

837 名前:名前は開発中のものです。 [2008/03/24(月) 17:37:42 ID:M/9alYxD]
複数の地面になるオブジェクトを並べてジャンプ後に着地するように設定したんですが、
横一列に並べているのに着地位置が縦1マス分ほどあいまいになってしまいます。
bounding boxも隙間なく設定しているんですがなぜでしょうか?

838 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 17:55:40 ID:jv5GLLmZ]
言語ファイル対応させろよ・・・

839 名前:名前は開発中のものです。 mailto:sage [2008/03/24(月) 23:02:33 ID:GFQTJ2FQ]
>>838
>>746

840 名前:名前は開発中のものです。 mailto:sage [2008/03/25(火) 01:38:15 ID:/7w1wYJ6]
>>837
地面にぴったり着地しなくて、宙に浮いた状態になるってこと?
Collisionイベントに「move to contact」のアクションは入れてる?

841 名前:名前は開発中のものです。 mailto:sage [2008/03/25(火) 02:43:56 ID:7R5Ni7yo]
>>837
>>840の解説。
衝突が起きたとき、相手がSolidだと自分は衝突前の位置に戻される。

例えば床との距離が5あって、自キャラが3の速度で落下していたとき、
次のステップで床との距離が2になって、さらに次のステップでは床にめり込む。
このめり込んだ瞬間に、床にSolid判定がついていたのなら、
衝突が起きる一つ前のステップ、つまり床との距離が2の時の位置に一旦戻される。
たまに浮いてしまうのはこのため。

Collisionイベントに「move to contact」のアクションを入れてやることで、
「(めり込んだ後、一旦1ステップ前の位置に戻してから)床に接する位置に移動させる」
という過程で、床にぴったり着地させることができる。

842 名前:名前は開発中のものです。 [2008/03/25(火) 04:38:59 ID:6z3i9o/6]
質問に答えていただきありがとうございます

843 名前:名前は開発中のものです。 [2008/03/26(水) 21:43:48 ID:paW4cEkf]
すいません、質問で今アクションゲームを作っているのですが、
スマブラのAボタンのコンボみたいなものを作りたいと思っています。
どうすればできるでしょうか。GMLじゃないとできないとかなんでしょうか。
もしGMLじゃなくてもできるのであればご教授お願いします。
下手糞な文章ですいません。



844 名前:名前は開発中のものです。 [2008/03/26(水) 21:45:56 ID:paW4cEkf]
すいませんVer.5.3Aです。

845 名前:名前は開発中のものです。 [2008/03/26(水) 21:46:16 ID:paW4cEkf]
すいませんVer.5.3Aです。

846 名前:名前は開発中のものです。 mailto:sage [2008/03/26(水) 22:08:47 ID:tIIk7RtU]
スマブラのAボタンのコンボみたいというのが、漠然としすぎてよく分からない
もっと具体的に

847 名前:名前は開発中のものです。 [2008/03/26(水) 22:17:44 ID:paW4cEkf]
1個目の攻撃のモーションが出た後につづけて攻撃ボタンを押すと、
2個目の攻撃モーションがつづけて出るみたいのにしたいんです。
パンチ→パンチ→キックみたいな。

848 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 02:00:03 ID:CI1Rl28I]
>>847
アクションあまり詳しくないからこれでいいかわかんないけど
アラームイベント2個組み合わせてコンボ入力受付期間を作ってみたらどう?
まずオブジェクトにコンボアクション発動許可用変数を用意し”0”を初期値に。
攻撃ボタン押したら1回目の攻撃を行わすとともに1つ目のアラームを起動させる。
1つ目のアラームがタイムアップしアラーム内アクションにコンボアクション発動許可用変数を”1”にして2個目のアラームを起動させる。
2個目のアラームがタイムアップしたらコンボアクション発動許可用変数を”0”に戻す。
攻撃ボタンはコンボアクション発動許可用変数が”0”の時と”1”の時で攻撃が変わるようにIf a variable has a valueで分岐させる。
とかそんな感じだと思うけど・・・まずはアニメーションスプライト用意して通常攻撃モーションとコンボモーションを作成してみては?
そこらへんはもうできてるかもしんないけど・・・

849 名前:名前は開発中のものです。 [2008/03/27(木) 08:42:25 ID:bXR6vAZf]
ご丁寧な返答ありがとうございます。
またわからないことがあったら聞きに着ます。

850 名前:名前は開発中のものです。 [2008/03/27(木) 09:37:30 ID:bXR6vAZf]
「攻撃ボタン押したら1回目の攻撃を行わすとともに1つ目のアラームを起動させる。」
の部分でアラームイベント内にどんなアクションを入れたらいいんでしょうか。
ご教授お願いします。

851 名前:名前は開発中のものです。 [2008/03/27(木) 13:17:57 ID:bXR6vAZf]
解決することができました。ありがとうございます。

852 名前:名前は開発中のものです。 [2008/03/27(木) 20:38:31 ID:bXR6vAZf]
質問なのですがアニメーションをループさせず一週でとめるにはどうすればよいのですか?

853 名前:名前は開発中のものです。 mailto:sage [2008/03/27(木) 22:07:49 ID:fgaEWE81]
>>852
アニメーションエンドイベントで
image_index を最後の番号(絵が18枚ならindexは0〜17なので、17にする)にして、
image_speed を 0 にする、とか。



854 名前:名前は開発中のものです。 mailto:sage [2008/03/28(金) 11:24:35 ID:MJYJEqfl]
背景をタイル張りにせずにビューについてこさせるためには
どうすればいいのでしょうか?

855 名前:名前は開発中のものです。 mailto:sage [2008/03/28(金) 11:33:42 ID: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]

背景画像がタイル化指定していたら、無効かもしれない。

856 名前:名前は開発中のものです。 mailto:sage [2008/03/30(日) 18:19:37 ID:NXbnTPzd]
特定のインスタンスを常に手前側に表示させるって方法がありましたっけ?
あったら教えてくださると嬉しいです。

857 名前:名前は開発中のものです。 mailto:sage [2008/03/30(日) 18:20:34 ID:NXbnTPzd]
>>856 文にミスがあったので修正
×方法が
○方法って

858 名前:名前は開発中のものです。 mailto:sage [2008/03/30(日) 18:40:24 ID:y58KxNze]
depthを小さくさせる、かな。
depthが小さいほど手前、大きいほど奥に表示される。
例えば-10、0、10の3つがあったら-10が一番手前に表示される。
手前に表示したければ、その特定のインスタンスのdepthを他より小さくすればいい。
デフォでdepthは0になってるから、特に何もしてない限りdepthを-1にすれば済むはず。

859 名前:名前は開発中のものです。 mailto:sage [2008/03/30(日) 20:25:27 ID:NXbnTPzd]
>>858
ありがとうございます。
解決しました

860 名前:名前は開発中のものです。 mailto:sage [2008/03/31(月) 00:26:35 ID:3gZNdKrL]
>>855
ありがとうございます。コードを組み込んだらちゃんと着いてきました。
でも何故かとまるときや着地するときに背景がズレるのです。
解決方法があれば教えていただけるとうれしいです。

gamdev.org/up/img/11264.zip

861 名前:名前は開発中のものです。 mailto:sage [2008/03/31(月) 01:54:01 ID: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]);
みたいな感じで。

862 名前:名前は開発中のものです。 [2008/03/31(月) 06:36:23 ID:/Z2PGPfr]
アクションゲームで被ダメージのイベントを作りたいのですが、
敵の様々な攻撃を「敵の攻撃」と、一つにまとめられないでしょうか。
「このオブジェクトに衝突したらダメージ、このオブジェクトにも衝突したらダメージ」と
オブジェクトの数だけ記述しているような状態を何とかしたいのですが。

863 名前:名前は開発中のものです。 mailto:sage [2008/03/31(月) 13:44:36 ID:3gZNdKrL]
>>861
解決しました。
ありがとうございます。



864 名前:名前は開発中のものです。 mailto:sage [2008/03/31(月) 22:40:41 ID:VGQZQIFz]
>>862
そのためのparent

適当なオブジェクトを一つ作ってobj_damage_parentとでも名付ける
ダメージ元のオブジェクト全部でそいつをparentに指定する
(Advanced modeをオンにしないとparentの設定は出てこないので注意)
後はobj_damage_parentとの衝突イベントだけ作ればOK

865 名前:名前は開発中のものです。 [2008/03/31(月) 23:28:59 ID:/Z2PGPfr]
>>864
ありがとうございます


866 名前:名前は開発中のものです。 mailto:sage [2008/04/01(火) 15:45:29 ID:jcfVMQvT]
>>863
>>860のファイルちらっと見たけど1つだけ
オブジェクトとかスプライトとかサウンドのリソース名が同じものがいくつかあるけど
別の名前にしておいた方がいいよ

867 名前:名前は開発中のものです。 mailto:sage [2008/04/01(火) 16:06:42 ID:jcfVMQvT]
あっとそれから名前に”-”や”?”をつかうのもダメだったと思う
メニューの「Scripts」→「Check Resource Names」で
チェックしてみ
<No name conflicts were found>と出るようになったらok

868 名前:名前は開発中のものです。 [2008/04/03(木) 12:01:14 ID: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



869 名前:名前は開発中のものです。 mailto:sage [2008/04/03(木) 12:13:58 ID:RldfVeQ4]
drawアクションはdrawイベント内で実行しよう

870 名前:名前は開発中のものです。 [2008/04/03(木) 12:26:59 ID:LCg7Ks7Z]
単純なことであるのに質問に答えていただき誠に感謝します。

871 名前:名前は開発中のものです。 [2008/04/03(木) 15:31:34 ID:hpoNHotE]
livesのイメージって縦に出来ない?

872 名前:名前は開発中のものです。 mailto:sage [2008/04/03(木) 17:47:55 ID: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);
}

873 名前:名前は開発中のものです。 mailto:sage [2008/04/03(木) 17:55:35 ID:x/yJQOmc]
Draw Live Images アクションだった^



874 名前:名前は開発中のものです。 [2008/04/04(金) 05:13:29 ID:xKOenXkz]
おー、縦にできた。ありがとう

875 名前:名前は開発中のものです。 [2008/04/04(金) 05:21:13 ID:xKOenXkz]
ってこれ減らした時に下から減っていくのは仕様なのか

876 名前:名前は開発中のものです。 mailto:sage [2008/04/04(金) 05:32:53 ID:ozKEK2lV]
+を-にしたりすれば上下逆もできるんじゃ?

877 名前:872 mailto:sage [2008/04/04(金) 06:59:11 ID:GCwfYrIO]
>>875
仕様というかそういうんじゃなくて
draw_sprite()は描画イベントでスプライトを表示させる命令
sprite_get_height()は指定したスプライトの高さを調べる命令
そんでdraw_sprite()命令をfor文を使って単にライフの数だけ繰り返してる
for()の中で”i”は初期値が”0”で1回処理されるごとに1づつ増えていくからsprite_get_height()*iとすることで
スプライトの高さだけずれて描画されていってる
>>876氏のいう様に”sprite_get_height(ライフ表示用スプライト名) *i”の前の符号を-にしたら下から上になる


878 名前:名前は開発中のものです。 [2008/04/04(金) 08:31:17 ID:xKOenXkz]
なるへそ。
ちょっと考えればわかることだね、お恥ずかしい。
勉強になります、ありがとう

879 名前:名前は開発中のものです。 [2008/04/04(金) 11:47:17 ID:UN21xGR5]
クリックした時にそのクリックした位置が
そのオブジェクトより上だったならそのオブジェクトの画像を後ろ向き、下なら前向き、左なら左向き、右なら右向き・・・ってな感じで変える方法は無いでしょうか?
右斜め下とか8方に作りたいのです。

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


初歩的な質問ですみませんがよろしくお願いします。

880 名前:名前は開発中のものです。 [2008/04/04(金) 23:37:08 ID:atXFd6s2]
rapidshare.com/files/104815717/test.gmk.html

881 名前:名前は開発中のものです。 [2008/04/04(金) 23:44:49 ID:atXFd6s2]
ゴメン、ミスったぜ
www.uploda.org/uporg1350943.gmk.html
pass:GM

882 名前:名前は開発中のものです。 [2008/04/05(土) 01:54:06 ID:28WyvbPP]
>>881
すみませんがGM6なので開くことができません・・・。
それともGM6で開く方法もあるのでしょうか?

883 名前:名前は開発中のものです。 [2008/04/05(土) 04:41:45 ID:/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だと開けないのか〜



884 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 04:46:32 ID:mh+kpRIe]
俺普段はGM5使ってるけど
中身見る用にGM7も入れてる

885 名前:名前は開発中のものです。 [2008/04/05(土) 05:54:37 ID:/7lMTMqT]
書き間違えました。
上から7行目のhonooってのはObject2のことです。

886 名前:名前は開発中のものです。 mailto:sage [2008/04/05(土) 08:08:06 ID:Q8dvYXzo]
ここの住民的にニコニコ動画(VS)ってどうなんだ?
外部データからキャラクターの追加とか
結構システム設計まわりをがんばってるみたいだが。

887 名前:名前は開発中のものです。 [2008/04/05(土) 13:27:36 ID:/7lMTMqT]
なかなか良いと思ってるよ。
キャラを後から追加できるなんて良心的だよね。
俺ならキャラデータを丸ごとexeにブチ込んでアップデートのたびに
大容量のデータをいちいちダウンロードさせてる所だよ。
開発が長引いたのはうp主が忙しかったからかな?

888 名前:名前は開発中のものです。 [2008/04/05(土) 14:18:21 ID:28WyvbPP]
後から外部からデータ追加とかどうやってるんだろ

889 名前:名前は開発中のものです。 [2008/04/05(土) 14:52:56 ID:/7lMTMqT]
Replace a sprite from a fileを使えばおk

890 名前:名前は開発中のものです。 [2008/04/05(土) 21:57:34 ID:/7lMTMqT]
自らを生成したオブジェクトを指定する関数っていうのはありますか?

891 名前:名前は開発中のものです。 mailto:sage [2008/04/06(日) 00:30:38 ID:jpfm9sAG]
>>890
ないので自分で誰が作ったか覚えておかないといけない。
・instance_createは生成したインスタンスのIDを返す
・自分自身のインスタンスIDはidでとれる
ので

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

としてやると、object0の中からはcreatorで自分を作ったインスタンスを参照できる。

892 名前:名前は開発中のものです。 [2008/04/06(日) 14:46:53 ID:+Z1B7XWC]
>>891
ありがとうございます


893 名前:名前は開発中のものです。 [2008/04/06(日) 15:05:43 ID:EU0AU+S4]
オブジェクトBの位置までオブジェクトAが移動して、オブジェクトBの位置についたら移動を停止する。というのはどうすればよろしいのでしょうか?



894 名前:名前は開発中のものです。 [2008/04/06(日) 17:03:33 ID:+Z1B7XWC]
>>893
step towardsのx座標に「ObjectB.x」y座標にも同じく「ObjectB.y」って入れれば
ObjectBが目標の座標になるよ。

895 名前:名前は開発中のものです。 [2008/04/06(日) 17:45:37 ID:EU0AU+S4]
>>894
おお・・・こんな簡単に・・・ありがとうございます><

896 名前:名前は開発中のものです。 [2008/04/06(日) 18:30:55 ID:EU0AU+S4]
すみませんがもう1つお願いします。

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

解り難い説明ですみませんが、ご存知の方よろしくお願いします。

897 名前:名前は開発中のものです。 [2008/04/07(月) 00:07:19 ID:ip9v6GLB]
【速報】らき☆すた二期決定でアニオタ歓喜wwwwwwwwww
jbbs.livedoor.jp/bbs/read.cgi/sports/26525/1204784207/

898 名前:名前は開発中のものです。 [2008/04/07(月) 05:30:29 ID:wG6ko/jv]
>>896
zip落せなかった;;
image_angleの値をdirectionにすれば楽にできるけどレジストバージョンしか出来ないかもしれないから、
レジストじゃなかったらdirectionの角度ある程度の範囲になったらになったらChange the spriteを使う方法があるよ
大雑把な説明だけどzipがどんなのか確認できたらもっとわかりやすく書くかも。

899 名前:名前は開発中のものです。 [2008/04/07(月) 09:53:52 ID:PrCqy7fg]
>>898
私のPCではちゃんと落とせるのですが・・・
再うpしてみましたのでこちらはどうでしょうか?
ttp://gamdev.org/up/img/11292.zip

900 名前:名前は開発中のものです。 [2008/04/07(月) 13:17:17 ID: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を組み合わせるしかないでしょう。
私はまだ日が浅く、その場合の方法は考え付かなかったので非公式サイトあたりで聞いてみてください。


901 名前:名前は開発中のものです。 mailto:sage [2008/04/07(月) 23:37:03 ID:5Vpyn9U6]
某東のほうのSTGの魔女っ娘みたいな極太レーザーを表現したいんですけども
どうすれば極力ゲームが軽く仕上がるでしょうか?

902 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 00:43:47 ID:1aWF0Oei]
>>901いまどきのマシンスペックなら少々無茶やっても速度落ちないと思うけど?
ただimage_xscale,image_xscaleでスプライトを拡大すると処理負荷がかかるっていうのはあるのかな?
以下gamemaker helpの「ゲームの仕上げ」→「ゲームの速度について」より引用
>ほとんどのグラフィックカードは、効果的に画像を拡大することが出来ますが、その処理のために重くなります。
だそうです

自分は400×480のルームに画面半分近いぐらいのボスを作ってみたけど
PVマシンでもルームスピードが落ちることはそうなかったですよ?
んで純粋にレーザーの作り方はというと
普通に弾撃たす処理と対して変わらないかと思います。
要はレーザー発射源オブジェクトのインスタンスよりレーザー用のインスタンスを切れ目なく生成して
その時一緒にdirection,speedの数値をレーザー用のインスタンスに与えてあげたらいい。
切れ目なく生成するというのはアラームイベントを使えばよくて、この時「number of steps」の数値が大きすぎると
レーザー1コマ1コマの間が長くなるから隙間が生じる。
答えになってるかどうか心配ですが。一応ここまででレス切っておきます。


903 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 11:32:50 ID:PGw82Ekz]
GMに興味あるんだけど、ここ見てると書式結構独特ぽいな…
やってる人はけっこうサクっと順応できたのかな。



904 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 21:09:24 ID: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;

905 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 23:29:01 ID:C/r/gPzk]
>>902
後者で試してみようと思います
ありがとうございました!






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<345KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef