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

このエントリーをはてなブックマークに追加
1名前は開発中のものです。
無料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/
2名前は開発中のものです。:2005/07/12(火) 09:04:29 ID:DK0oUKwt
《Game Makerの特徴》
@ コリジョン(当たり判定)/スプライト/マップ/サウンド再生など、2Dゲーム作成にかかせない機能が充実
@ なにかと便利なイメージエディタを内蔵
@ プログラミングの知識はあってもなくてもよい
@ *.exe(単体実行可能)形式でゲームを出力できる
@ 作ったゲームは自己責任の元で自由に配布できる(作ったゲームを売る場合のライセンス料さえ不要!)
@ キーボード、マウス、ジョイスティックからのキー・ボタン入力をサポート
@ イベントドリブン型なのでスマートにゲームを構築できる
@ 組み込みスクリプト言語"GML"により、さらに細かい処理が可能
@ エンジンはDirect X

※有料登録(15ユーロ)するとゲーム起動時のロゴ表示が消えて3Dやエフェクト機能などが追加されますが、基本的に無料で充分使えます。

《Game Makerの欠点》
@ 英語ソフトなので、英語が読めないととっつきにくい
@ ツクール類とは違い、ゲームの"動き"から設計しなければならない(それがまた長所でもある)
3名前は開発中のものです。:2005/07/12(火) 09:05:14 ID:DK0oUKwt
《豆知識》
Game Makerの作者であるMark H. Overmars氏はオランダの超名門大学"Utrecht"大学の教授で、主にゲームデザインについて研究されています。
参考: ttp://www.cs.uu.nl/people/markov/

《このスレの掟》
・Game Makerの略称はGMとする
・いきなり、「こんな素材ありませんか?」系の書き込みは避ける → 素材スレに行きましょう
・質問する場合には、「Game Makerのバージョン」「GMLを使えるか否か」をなるべく記す。
 (必要に応じて、「ビデオメモリ容量」や「DirectXのバージョン」などを書くとなおよい)

現在主に使われてるGame Makerのバージョンには5.3Aと6.xがありますが、
5.3AはGame Maker 5.x系列の最終安定リリース版で、Game Maker 6.xは今のところ開発段階にあります。

●Game Maker 5.3A ダウンロード先:
 ttp://www.gamemaker.nl/old.html
●Game Maker 6 ダウンロード先:
 ttp://www.gamemaker.nl/download.html

5.3Aと6.xの詳しい相違点については以下を参照のこと:
ttp://gamemaker.main.jp/modules/smartfaq/faq.php?faqid=1
4名前は開発中のものです。:2005/07/12(火) 09:06:24 ID:DK0oUKwt
気づいたら前スレ落ちてて、スレ立ってなかったたので立てたのだが・・・
問題があったら指摘してくれ。

あとテンプレ作ってくれた よこしまなMr.0氏に感謝
5名前は開発中のものです。:2005/07/12(火) 09:16:07 ID:DK0oUKwt
はっ・・・



そういえばタイトル亜wせdrftgyふじこlp;@:
6名前は開発中のものです。:2005/07/12(火) 11:06:03 ID:ekXXYkeT
>>1
お疲れ様です。

今、取り掛かっているゲームの作成に疲れたので、
サクっと気分転換に作ったゲームを置いておきます。

http://gamdev.org/up/img/2885.zip

スペースキーを押し続けると上昇し、放すとドンドン落下して行きます。
障害物を避けながら、Pマークのコインを拾ってください。

作成中ゲームの謎キャラも出てきますが、ドンマイ。 orz 消し忘れたョ。
Del pass入れ忘れたから、あぷろだからも消せないし。トホホ。
7よこしまなMr.0:2005/07/12(火) 16:20:14 ID:Kl+vXOk6
>>1-5
part2スレを立てようとしたのですが、ホスト制限がかかっていて立てられない状況でした(汗
ありがとうございます

《追記》
●Game Maker 5.3Aのインターフェイス部分を日本語化するパッチ
 ttp://gamemaker.main.jp/modules/mydownloads/singlefile.php?cid=2&lid=2

>>6
謎のタコかわいいですね・・・
8名前は開発中のものです。:2005/07/13(水) 11:51:24 ID:e9DNY7TS
>>1
スレ立て乙です。

>>6
コインの配置が絶妙ですね。タイミングが合って、連続で取れた時が
気持ちいいです。上下動に緩急がついていれば、もっと良くなるかも。

さ、自分も作らなきゃな〜。1週間近く毎日作ってるのに、
未だ形にもなっちゃいねえよorz
9名前は開発中のものです。:2005/07/17(日) 18:27:30 ID:WYmW2moE
>>6
ゲーム性とは関係ないかも知れんが背景のスピードは
スクロールより遅くしたほうが遠近感でるんじゃないかな?
10名前は開発中のものです。:2005/07/17(日) 21:15:49 ID:BDmUkYbk
>>1
乙ですー。
ーで、早速質問で申し訳ないのですが、
現在シューティングゲームをつくっていて、ポーズボタンを実装しようとしているのですが、
手っ取り早くできる方法はないでしょうか?
11名前は開発中のものです。:2005/07/18(月) 03:36:05 ID:b9BDu6Ga
>>7
タコのモデルに伝えたところ、とても喜んでおりました。

>>8
緩急ですね、覚えておきます。

>>9
スピード感が欲しかったので、あの様な背景速度設定にしました。
ゲームの文法(?)からは外れてしまいましたが、これはこれで良いかな?と思ったわけでして。
12名前は開発中のものです。:2005/07/18(月) 13:21:57 ID:G3nui4uo
>>10
手っ取り早く実装するなら、
GMLの
 instance_deactivate_all()
 instance_activate_all()
を利用する。この場合、停止中にオブジェクトが消えてしまうが…
13よこしまなMr.0:2005/07/21(木) 03:47:03 ID:t1vjLX0d
>>10
[Display a message]アクションで「paused」と表示してストップさせる...とか楽ですね
141:2005/07/21(木) 18:18:13 ID:Ceg1byjT
ネタをうp
操作とかはF1で

ttp://gamdev.org/up/img/2927.zip
15名前は開発中のものです。:2005/07/25(月) 20:17:18 ID:TziUlQUR
お邪魔します。
ビュー機能を使って、画面左四分の三にプレイヤーキャラ追従のマップを、
画面右四分の一に固定のステータス画面を置きたいのですが、マニュアルを読んでも
ビューの使い方がイマイチ分かりません。
使い方をご指南いただければ幸いです。
16名前は開発中のものです。:2005/08/03(水) 16:52:35 ID:Bxb+7O6K
これってMP3は使えない?
17名前は開発中のものです。:2005/08/03(水) 21:32:56 ID:QiSEx2V4
>>16
使えるけど処理が遅くなるそうです。
BGMはMIDIで、単発音はWAVが基本みたいです。
MP3使ってみたけど、いちおう再生できますね…
18名前は開発中のものです。:2005/08/04(木) 12:30:05 ID:vqto/t8b
ども
処理が遅くなるってのはなかなか痛いですな。
MIDIがデフォだとしたらそのMIDIデータはMSGSにあわせて作らなきゃだめってことか・・・
19名前は開発中のものです。:2005/08/06(土) 14:54:14 ID:eQEDJl/e
今日はじめて触ってみたけど、結構簡単に作れ・・・そうな気がするね。
20名前は開発中のものです。:2005/08/08(月) 13:26:16 ID:iWNZ73lz
ちょっと質問。
これって未レジストの状態で普通の半透明処理は出来るらしいですけど、
ゲームのエフェクトに使われてる加算合成みたいなことって出来ますか?
21名前は開発中のものです。:2005/08/09(火) 02:28:25 ID:UetZZvsJ
できない…たぶん。
もし出来るなら俺も知りたい。誰か補足キボン
22名前は開発中のものです。:2005/08/09(火) 10:30:28 ID:brxyxykt
ゲーム開発知識は全然無く加算合成をよく理解してないが
半透明状態のオブジェクトを重ね合わせればいいのでは?
重くなるけど。
23名前は開発中のものです。:2005/08/09(火) 13:35:50 ID:ksdbL9J8
>>20
とりあえずマニュアルのchapter16を読んでください
ttp://www.gamemaker.nl/doc.html

これの半透明処理はけっこう汚い…
画像にポツポツ穴を開けて無理やり半透明にしてるかんじ。
2420:2005/08/11(木) 17:58:04 ID:PezyNx9Z
遅ればせながらレスサンクス。
Chap16っていうのは「スプライト」の章のスプライトの編集の部分のことでしょうか。
とりあえずここを読んで色々弄くってみます。
25名前は開発中のものです。:2005/08/11(木) 22:58:07 ID:LrwLwF7w
そこにある方法じゃ加算処理は出来なくない?
普通のいわゆる半透明だけならimage_alphaだけど加算はわからん
加算処理が出来るとエフェクトがグッと綺麗になるんだがね
26名前は開発中のものです。:2005/08/15(月) 12:05:43 ID:VTl9QE6a
ttp://www.gamemaker.nl/doc/html/405_06_advanced.html

draw_set_blend_mode
の事ではないのかな。
未レジストなので使って確かめることは出来ないが……

>>14
今更だがGJ
ただしネタがわからんとです
27名前は開発中のものです。:2005/08/15(月) 14:34:32 ID:1+hoxYD4
これでRPGってできるかなぁ……。
28名前は開発中のものです。:2005/08/15(月) 15:57:29 ID:9ui2u+H5
さあ、どうだろうねぇ……。
291:2005/08/15(月) 20:47:58 ID:ippoP4kZ
>>26
ネタというかスレ活性化のためにうpしただけな訳で
そして思いっきりスルーされ(ry
30名前は開発中のものです。:2005/08/16(火) 18:16:42 ID:l6jV0W5t
画面をフェードアウトしようと思って黒い背景をフォアグラウンドで表示して、
Background_alpha値をいじることによって実現した。で、友人のPC(CPU1.8GVRAM32MB)で試してみたら重い重い。
半透明処理って想像以上にスペックいるのね。
31名前は開発中のものです。:2005/08/16(火) 22:38:50 ID:wJ1/u05P
VRAM32じゃあなぁ
まぁ半透明はあまり多用しないほうがいいな
32名前は開発中のものです。:2005/08/18(木) 10:43:12 ID:6Djpppu4
Gamemakerだけの問題かしらんが
うちでも半透明は重い
フェードアウトは仕方なくスプライト画面に並べてディザ処理のアニメーションでやってるけど
やっぱ機能としてフェードアウトはほしいなぁ。
あとワイプ処理、切り替わる際に画面が止まるのに違和感を感じるような

スクリプトを読み込んで、RPGとかADVみたいなメッセージ処理が出来る
簡易言語みたいなのあったらいいよなぁ
と思って、着手してはみたものの
どうもHSPで挫折した俺には無理みたいだ
という愚痴だ

>>27
アクションRPGつくって!
33名前は開発中のものです。:2005/08/18(木) 14:59:45 ID:iWD8VbNB
そうか!処理が重い原因は半透明だったのか!               orz
34名前は開発中のものです。:2005/08/25(木) 12:56:21 ID:XSzlPqwQ

前レスからみんなのうp参考にやっと道中(後半だけですが)できました
シューティングです^^操作は F1 or readme参照お願いします。
今ボスつくってます^^;

ttp://gamdev.org/up/img/3066.zip

えっとそれから少し質問させてください
戻り復活にしたいんですが
今はルームリスタートでやってるんです
復活ポイントを1つか2つ設けて、やられたら一番近いポイントに戻るってやつでず
多分タイムラインで処理したらいいんだと思うんだけど、どうしたらいいのか・・・^^;
ご教授おねがいします。
35名前は開発中のものです。:2005/08/25(木) 14:20:31 ID:nCvs6x59
>>34
これはすごい。
敵の量がやりすぎてて、面白い。
カスリもあるんだね。
そして、2度目のホーミングで死ぬ。

全部タイムラインでやっているのだったら、
復活ポイントの通過を記録する変数作って、
敵の出現のタイムライン上で、ポイント通過するごとに1ずつ増やしてって、
で、復活後にその変数を見て、敵の出現のタイムラインの開始時刻を動かせばいいのでは。
すげえわかりづらいごめん

思うんですが、げーむめーかーのタイムラインエディタって使いづらくないすか。
3634:2005/08/26(金) 15:09:47 ID:zebT7oMZ
>>35さん
ども ありがとです。
 2度目のホーミングというと白の蛾みたいな敵とセットで出てくる所ですよね。
実はひそかに指摘されるのではと思ってた箇所です。はい^^;
この面構成でいいのか迷ってはいるんです。今でもね・・^^;
実際、敵の種類もすくないし面数もない様な状態なので、
まだまだこれからだとは思ってます。
 戻り復活の件は質問の仕方が悪かったです。すませんです
タイムラインのステップ数をさして「そこに戻れよ」というのはtimeline_position命令で
できるのはなんとなく分かってたのですが、戻り復活の処理となるとタイムラインを戻しただけ
では既存に生成しているオブジェクトは残ったままになるのではないか?
というとこが引っ掛かってたんですが、それも含め
>敵の出現のタイムラインの開始時刻を動かせばいいのでは
この言葉にぴぴっときたとこがあったのでそれを試してみたいと思います。うまくいったら報告します。
3734:2005/08/26(金) 15:22:06 ID:zebT7oMZ
上の続き

タイムラインエディタは自分は自機のやられた後処理と敵出現のタイミング指定しか使ってないですが
さほど不自由は感じてないです^;
38名前は開発中のものです。:2005/08/27(土) 22:19:46 ID:gEl8uNx9
ん!? まちがったかな…
まあいいか頑張ってね。

タイムラインエディタ、Flashみたいのがほしいなと思った。
39名前は開発中のものです。:2005/08/29(月) 02:29:48 ID:NC/VBiko
pathでオブジェクトを真円軌道で動かしたいのですが、ツールの曲線では
真円が描けません。どうすればいいでしょうか。
40名前は開発中のものです。:2005/08/30(火) 03:35:55 ID:HsiS3bg+
>39
正確な円にこだわるなら、計算して動かすのがいいと思う。
lengthdir使えば楽だよ。

Create Event:
set variable angle to 0 ←適当な変数を作る

Step Event:
set variable angle relative to 5 ←上で作った変数を適当に増やす
move to position (320 + lengthdir_x(100, angle), 240 + lengthdir_y(100, angle))

こんな感じで、パラメータは適当に調整してみて。
41名前は開発中のものです。:2005/08/30(火) 12:39:14 ID:fphpnZMy
>>39さん
真円というのがどれだけの正確さかわかりませんが
この程度でよければ以下の座標を参考にしたってください。
(↓はgm6ですが多分5でもいけるかと)
http://gamdev.org/up/img/3101.jpg

この精度でいいなら、メニューアイコンの
「Reverse the path」で進行方向反転
「Rotate the path」で回転させ始点を調整
「Scale the path」で大きさを調整(%で指定。)
などであなたが思っている動きに加工してみてはどうでしょうか?
42名前は開発中のものです。:2005/08/30(火) 12:40:41 ID:fphpnZMy
あ 既出でしたか・・・・
4341:2005/08/30(火) 12:59:20 ID:fphpnZMy
あとあとを考えると>>40さんの方が楽なような気がしてきたので忘れてください
44よこしまなMr.0:2005/08/30(火) 15:58:04 ID:53GKGJ/B
>>39
以下の内容を[Execute a piece of code]アクションに貼り付けて実行してみてください。
ゲームは一瞬で終わりますが、クリップボードに(右から始まって反時計回りの)円の座標リストがコピーされます。
あとはその座標を参考にして円を描いてください。

// - - - - - - - - ↓設定ここから - - - - - - - -
r = 100; // 円の半径
cx = 200; // 円の中心X座標
cy = 200; // 円の中心Y座標
d = 12; // 円を何分割するか
// - - - - - - - - ↑設定ここまで - - - - - - - -
clipstr = "";
CRLF = chr($0D)+chr($0A);
for (n = 0; n < d; n += 1)
{
px = string(round(cx + r*cos(n*2*pi/d)));
py = string(round(cy - r*sin(n*2*pi/d)));
clipstr += string(n+1)+ ". (" +px+ ", " +py+ ")" +CRLF;
}
clipboard_set_text(clipstr);
game_end();
45名前は開発中のものです。:2005/08/30(火) 16:02:47 ID:TtSfA7xq
こんちわ。
早速今からやろうと思ったんだけどダウソ出来ナス・・・
鯖落ちてる?(´・ω・`)
46名前は開発中のものです。:2005/08/31(水) 00:10:55 ID:6s30hHA6
すんません自己解決しますた。
PCに問題があったんかな・・・兎も角やってきまつ
47名前は開発中のものです。:2005/09/20(火) 18:31:37 ID:GECwW1SJ
GMはもっと注目を集めるべきだろ
48名前は開発中のものです。:2005/09/22(木) 13:52:26 ID:b1cWJDZn
シェアなのがなぁ・・・
49名前は開発中のものです。:2005/09/25(日) 21:28:29 ID:9L+AvabS
ジャンプってどうやるのでしょうか?
過去ログみれない・・・
50よこしまなMr.0:2005/09/26(月) 08:45:17 ID:P+eUhLCL
>>49
手元に残っていたログです(1〜979レス目まで)
ttp://gamemaker.main.jp/dlfiles/2chlog_part1.html
色々とヒントが見つかると思います
51名前は開発中のものです。:2005/09/26(月) 22:07:32 ID:A9dp532f
簡単にレジストする方法ないかな。なんか面倒くさそう・・・
52名前は開発中のものです。:2005/09/29(木) 20:27:06 ID:MP62OZuC
最近ネタ投下が無いようなのでここいらで投下。

ttp://gamdev.org/up/img/3447.zip

勉強がてら作ったサンプルのシューティングです。2日くらいで。
画像の一部は以前作ったゲームの流用。
ペン3の800でぎり60ってところか。組み方の問題もあるが。
53名前は開発中のものです。:2005/10/10(月) 13:11:32 ID:D2KvdjRf
今日初めていじってみたがかなり楽しそうだな。
54名前は開発中のものです。:2005/10/17(月) 13:54:10 ID:Bre/aJF5
>>53
どうだった?
55名前は開発中のものです。:2005/10/25(火) 21:14:09 ID:UQEjYnf/
5.3Aで、ジョイスティックのボタンを離したとき(押し上げ)にイベントを起こして
アクションをさせるにはどうすれば良いでしょうか?
56名前は開発中のものです。:2005/10/25(火) 23:20:29 ID:FXQpO44P
思い付きの適当でスマソ


// 押された時に呼び出すスクリプト
{
var 押されているフラグ;
if(押されているのを関知する関数) 押されているフラグ=1;
if(!押されているフラグ) アクション;
}
57よこしまなMr.0:2005/10/25(火) 23:23:56 ID:PlOfzJwA
>>55
Stepイベント毎にjoystick_check_button関数でボタンの状態を調べておき、
「押されている状態」から「押されていない状態」へと変化したらevent_user関数でイベントを起こすようにします。

例) ジョイスティック1のボタン4押し上げ時に、User0イベントを発生。

Stepイベント → [Execute a piece of code]アクション:
isPressed = joystick_check_button(1, 4);
if (prev_isPressed && !isPressed) event_user(0);
prev_isPressed = isPressed;

Createイベント → [Execute a piece of code]アクション:
prev_isPressed = false;
5855:2005/10/27(木) 17:28:39 ID:/cV+iLLB
ありがとうございます。試してみます。
GMLも勉強してみます。
59名前は開発中のものです。:2005/10/31(月) 13:00:04 ID:JEbkMUMC
何か、ツクールXPと似ている感じがするが…。(スクリプト言語搭載)
処理速度の点ではツクールXPや2003と比べてどちらが上なのだろう。
自由度の点ではツクールXPに匹敵すると思われるが。
あと、画面の強制スクロールをするアクションや命令は無いのだろうか。
60よこしまなMr.0:2005/10/31(月) 19:07:44 ID:Obg2lX5N
>>59
> 処理速度の点ではツクールXPや2003と比べてどちらが上なのだろう。
描画速度はGame Makerの方が上でしょう。
> 自由度の点ではツクールXPに匹敵すると思われるが。
GML(Game Maker用スクリプト言語)を使いこなすことができれば、Game Makerの自由度はツクールのそれをはるかに上回ります。
> あと、画面の強制スクロールをするアクションや命令は無いのだろうか。
Game MakerにはView機能というものがあります。
61名前は開発中のものです。:2005/10/31(月) 20:06:01 ID:8i75rI+i
ツクールXPより遙かに優れている所

フリーウェアでほとんど何とかなる。
ネットライセンスとかヘンナノ無い。
62名前は開発中のものです。:2005/11/02(水) 04:33:39 ID:mwZ1hAeV
最近あんまり動きなくないですか?
6はどうなんの?
63名前は開発中のものです。:2005/11/02(水) 09:23:56 ID:M8vrCfR5
日本語をDROWで使いたいですねぇ。
64よこしまなMr.0:2005/11/02(水) 16:29:53 ID:Kfwe6/NK
>>62
本家のttp://www.gamemaker.nl/facts.htmlより:
> How will it continue? My current main priority is writing a book, together with Jacob Habgood.
> The title is The Game Maker's Apprentice: Game Development for Beginners
> and will be published by APress. It is expected to appear in February or March 2006.
> And of course I am working on version 6.2 of the program.
ということですので作者さんは現在、Game Maker初心者向けの本を書かれているそうです。
もちろんGame Maker 6.2の開発も行われているようです。

>>63
ちょうどGM6で日本語を描画するための記事を書いていたところです。

"GameMaker Japan - ドキュメント - GM6で日本語テキストを描画しよう"
ttp://gamemaker.main.jp/modules/articles/article.php?id=22
65名前は開発中のものです。:2005/11/02(水) 22:13:13 ID:P6bqraTu
>>64
GJ!!!
66名前は開発中のものです。:2005/11/04(金) 17:37:57 ID:alBTuzL0
レジストしたいのですが、詳しいやり方書いてるHPが英語なもので、
混乱しています。
20ドル位寄付すればキー番号を受け取れる様ですが、自宅のPCがオフ環境
なので、帰宅して受け取ったキー番号を自分のPCにインストール済みの
GMに打ち込んでもレジストする事は可能なのでしょうか。
最寄の銀行から振込みって出来ますかね………?
67名前は開発中のものです。:2005/11/04(金) 21:26:46 ID:RgeAIYqp
>>66
Once we receive your payment (which is normally within one or two days, unless you use cash or check payment)
an email will be sent to you with the name and key together with information on how to enter these in the Game Maker program.

ShareItでクレジットカード決済すれば、その時に書いたe-mailアドレスにメールで 名前とkey番号が送信される。
銀行振り込みよりは楽じゃないかな?(ShareItは代金の収受を代行してるだけ)
15ユーロと20ドルどっちでも良いみたい、今なら10ポンドが特かもw

キー番号は番号に意味があるのでオフラインPCでもオッケだな、一人一アカウントなので自分のPCが3台あったら
3台ともに、名前(多分自分の名前w)とキー番号でアンロックされたGameMakerが利用できる。
(友人にキー番号を渡しちゃやだよってFAQにあるので、それは無しね)
68名前は開発中のものです。:2005/11/04(金) 22:44:37 ID:82BYCLEu
初めてのゲーム作りという事でブロック崩し作ってます

ゲーム開始時にボタンを押すとパドルからボールが
射出されるようにしたいんですけど、
現時点ではレーザーみたく大量に出てきてしまいます。
一個だけポーンと出すにはどうすればよいのでしょうか?

Ver. 5.3A GMLはさっぱりです。
69NOT 66:2005/11/04(金) 23:06:51 ID:UP1blmFB
>>67
サンクス!俺もやりかたがよくわからんかったから手を出さなかったけど、やってみるよ。
諦めてクレカ使った方が楽で早そうだね。

>>68
ボタンを押したときのイベントに下記のスクリプトでインスタンス作成制御してみては?
{
if(!instance_exists(ボールのインスタンス名)) instance_create(出現位置x,出現位置y,ボールのインスタンス名);
}
70よこしまなMr.0:2005/11/04(金) 23:09:27 ID:oyETZrGa
>>67
レジスト代は15ユーロが本当の基準です。ドル・ポンド・円など、その他の通貨はレートによって値段が変わります。
71よこしまなMr.0:2005/11/04(金) 23:19:28 ID:oyETZrGa
>>68
Keyboardイベントの度にボールを生成していませんか?
そのような場合はKey Press(キー押し下げ)イベントでボールを生成するようにすると良いです
7269:2005/11/04(金) 23:43:29 ID:UP1blmFB
>>67
早速やってみた。鍵待ちです。ワクテカ
http://www6.atwiki.jp/tetrius/pages/11.html
7367:2005/11/05(土) 09:22:13 ID:q0HGhs5y
>>70
そ、そうか(^^; Yenもおっけなんだな、今度からはキミに任せるよ
74よこしまなMr.0:2005/11/05(土) 10:16:22 ID:9pC0c5Xn
>>72
TETRIUS期待してます!かなり本格的なゲームですね.. 激乙です。

>>73
なんだか不快感を抱かせてしまったようで大変申し訳ないです(_ _
お金に関することなので少し正確に書いた方が良いと思ったもので・・


近頃はGame Maker 6で全角文字を描画できるスクリプトをちまちま書いています。
今のところ、「全角ひらがな・全角カタカナ・改行・描画開始位置の指定・文字間隔ピクセル指定・行間隔ピクセル指定」に対応してます。
文字がずらーっと並んだスプライトをdraw_sprite_partしてるだけですが
あとは全角スペース・全角記号・全角英数字・アルファ値指定を実装して。。。漢字はさすがに無視だろな
半角混じり文はどうするかな。。
75名前は開発中のものです。:2005/11/05(土) 10:18:38 ID:wRXWCw6a
>>69,>>71
回答ありがとうございます。
スクリプトはまだ理解できないのですが、Key Pressの方で出来ました。

今のままではボタンを押す度に生成されてしまうので制限かけたり
しようと思います(おそらくIf the number of instances〜を使うはず)。

しょぼいと思ってたアルカノイドが実は凄く工夫されたゲームだったんだなあ…
7666:2005/11/05(土) 12:35:57 ID:ppaaxkCq
>>67
>>70
有難う御座います。
登録してみようと思います!!
7769:2005/11/05(土) 23:43:23 ID:YaP40Vot
ライセンスキーが来ないよほほほほほ〜土日はダメポ?

>>74
ありがとうございます。頑張ります!
78よこしまなMr.0:2005/11/06(日) 02:35:29 ID:LUBGCGiq
>>75
ボールが無いときだけ発射するようにしたいならば...
on Key Press:
[If the number of instances is a value] object: ボール、number: 0、operation: Equal to
[Start of a block]
 この間でボールを生成したり、スピードを設定したりする。
[End of a block]
といった感じです。

※[If ....]系のアクションはその条件が合うと、基本的に次のアクション1つを実行します。
複数のアクションを実行したいときには[Start of a block]-[End of a block]で囲むわけです。

>>77
ttp://www.gamemaker.nl/regfaq.html "I send in my registration fee; how fast do I get the key?"
の項にreg keyがどのくらいで届くかが書いてあります
7969:2005/11/06(日) 10:02:16 ID:x/RBJv7A
どうやらお金が動かせなかった様子。
俺の入力ミスかJCBから認可されなかったかどちらか。きっと前者だろう。
今度はVISAでTRY。

JCBの時には見受けられない、オーダーメール後の追加メールがすぐ飛んできて、
48時間以内にライセンスキーが送れるかも〜と。

今度こそいけるかな。ワクテカ

>>78
二日は待てということですね。
今回のはどうやらshare-it!(?)とクレカ会社の間での段階でコケたようです。
お騒がせしました。
8066:2005/11/06(日) 18:00:50 ID:IxLPpGfh
何度もすみません。
やはり本家の英語の判読に手間取っております。
クレジットカードは所有していませんが、銀行の口座は作ってあります。
この場合、銀行からどこに送金もしくは振り込めば良いのでしょうか。
それと、オンライン登録のLicensed Toの項目の意味が分かりかねます…。
アスタリスクが付いた項目は必須項目なのでしょうか。
色々方法がある様で、現金払いを望む自分としてはどの方法が手っ取り早い
か悩みます。
8169:2005/11/06(日) 18:36:45 ID:MkKQkn0F
>>80
Licensed Toは登録したい「名前」じゃないかな?
(Enter Registration KeyのNameに中る箇所)
俺はそう解釈して、ニックネームを入れた。

ソウジャナカッタラガクブル
82よこしまなMr.0:2005/11/07(月) 01:10:13 ID:cUUtgcJL
>>80
ttp://www.gamemaker.nl/registration.htmlの"Register through Share*It"から飛べるページのことでしょうか
まずページ右上のShow prices in: をJapanese Yenに設定します。
すると値段が「Total: \ 2,225」とか表示されるはずです。これはGame Makerのレジスト代15ユーロを日本円に換算した値段です。
続いてPersonal Informationを入力するわけですが、仰るとおり * は必須項目です。
基本的に全て半角英数字で記入してください。
項目の説明:
License to* :81さんが仰っている通りGameMakerのレジスト名です。フルネームでもニックネームでもかまわないと思います。
First Name* :名前
Last Name* :苗字
Street Address* :たとえばxx町 1丁目5番地3号なら、3-5-1 xx-machiと書く
Additional Address Information :(必要なら) 部屋番号 アパート・マンション名の順で書く
ZIP / Postal Code* :郵便番号
City* :市町村区, 都道府県の順で書く (Shinjuku-ku, Tokyo)
Country* :もちろんJapan
E-mail* :注文情報やレジストキーが送られてくるメールアドレスを書く (間違えないように。)
Retype E-mail* :もう一度メールアドレスを書く

そして次にPayment option(支払い方法)を選びます。
Payment option* :銀行を通じて支払うならBank/Wire Transfer(電信送金)
Billing currency* :もちろんJapanese Yen

※この場合海外の銀行へ送金するわけですから、注文する前に、利用されている銀行窓口で
「海外の銀行へ電信送金することは可能か?」「可能ならば、手数料はどれほどかかるのか?その内訳は?」この2点を必ず確認しておきましょう。
大手の銀行でないと電信送金できない場合があります。
手数料とその内訳は銀行によって様々で一般的に5,000円前後かかります。

注文が終わったらShare*Itから「注文情報を確認しているので数時間〜1日ほどお待ちください」みたいな英語メールが来ると思います。
もし、注文が成功してShare*Itからついに「この銀行に振り込んでください」みたいなメールが来たら、その情報を銀行に見せて「ここに電信送金したいのですがどうすれば?」と聞いてください。それが一番確実だと思います。

(なお、私が実際にこの支払い方法を実践したわけではありません。あくまでも参考までに)
8369:2005/11/07(月) 10:49:21 ID:57Znw864
鍵が無事に届きました。けど今会社だから弄れナス。orz

>>82
手数料高。
8482:2005/11/07(月) 11:59:27 ID:+VvvZcOU
どうも、part1のスレで手抜きテニスゲーを作ったものです
http://www6.atwiki.jp/abab5656/
対抗して勉強しつつくったぜ、手抜きだが。
8566:2005/11/07(月) 12:51:19 ID:BqOngL+h
>82
こんなに詳しく説明して頂いて有難う御座います。
ネットで検索してみた所、北洋銀行から海外へ送金出来るそうですので、
送金してみようと思います。
86よこしまなMr.0:2005/11/10(木) 00:24:55 ID:Q4YddK/U
GM6で日本語テキストを描画するGML関数を書きました

スクリーンショット
ttp://gamemaker.main.jp/modules/news/article.php?storyid=25
87名前は開発中のものです。:2005/11/10(木) 10:56:50 ID:wpMLDaNX
烈しくGJ!
88名前は開発中のものです。:2005/11/11(金) 11:24:18 ID:F1klrFMJ
VRAMが4MBなので5.3A使ってるけど、スプライトの回転とか色調変更
が出来ないのが痛い……。GM5.3Aで外部DLL使ってスプライトの回転
や色調変更(真っ赤になったり)を可能にする方法というのは無いもの
だろうか……。
GM6は現在のチップセット内臓型のPCだと厳しいか……。
89よこしまなMr.0:2005/11/11(金) 17:08:24 ID:7NugP8mN
>>87
どもです。

>>88
疑似回転なら
まずスプライトの編集画面で[変換]-[キャンバスのサイズ変更]で最低でもルート2倍ぐらい広くした後に、
[アニメーション]-[回転]を選んでNumber of framesに36ぐらい指定してぐるぐるっと編集しておき、例えば30度傾けるには image_single = (30*image_number/360); といった具合に代入すればいいわけですが、
この方法だと複数フレームを持つスプライトの場合少し面倒ですね。。。

色調変更は、そのオブジェクトの上にimage_alphaが0.5とかの真っ赤な同型スプライトをかぶせれば不可能ではないですね
※ (真っ赤な方のインスタンス).depth = (その被せられる方のインスタンス).depth - 1;
さらにレジスト版ならこの真っ赤なスプライトに sprite_fade(真っ赤なスプライト, make_color_rgb(R,G,B), 255); とかやってやるとどんな色でも対応できそうですね
90名前は開発中のものです。:2005/11/11(金) 18:33:31 ID:F1klrFMJ
>>89
ありがとうございます。
image_alphaを0.5とか(半透明)にすると処理が重くなるとか書いてあった
様な……。
回転に関しては、殆ど1枚絵を対象とするので(風車とか)、
上記の方法でいけそうです。
色調変更や回転の問題を克服すれば、GM5.3Aの方が
動作も軽くて使い易そうです。
あと、sprite_rotateとかいうのがありましたが、リソース変更の所に
記載されてあったので、ゲーム中には使わない方が良いのでしょうかね…。
91よこしまなMr.0:2005/11/11(金) 19:00:52 ID:7NugP8mN
>>90
そうですね・・sprite_rotate()だと回転するたびにどんどん画質が落ちていくでしょうし。。。
Changing Resources系のアクションはGame Makerの編集環境の機能をそのまま関数にしてあるような感じっすね。。。。。。笑
92よこしまなMr.0:2005/11/15(火) 19:27:26 ID:sr3axQEt
日本語テキスト描画スクリプトを公開しました;-)
ttp://gamemaker.main.jp/modules/news/article.php?storyid=26
93名前は開発中のものです。:2005/11/17(木) 18:25:17 ID:tniXsRI1
>>92

おお!gj おつかれさんでし
94よこしまなMr.0:2005/11/17(木) 19:56:00 ID:xODF1NiW
>>93
どもっす。

詳しく書くの忘れてたんですが、>>92のスクリプトはGame Maker6で
{
mbtext_draw("foo漢字123あいうえおbar", x, y);
}
このようにして全角・半角混じりの日本語テキストを描画できるというものです。
テキスト領域の最大幅も指定できて、この幅を超えると自動で改行されます。
途中で改行したいなら"\n"を入れます。
それと、文字間および行間の間隔も指定できます。

ダウンロードおよび詳細についてはこちら
ttp://gamemaker.main.jp/modules/articles/article.php?id=23
95名前は開発中のものです。:2005/11/20(日) 03:36:05 ID:x4gmC67f
ttp://www.cs.uu.nl/docs/vakken/gds/games.html
ここで落としたゼルダのゲームなんだけど
ゲームのサイズ自体は5MBなのに
実行したらメモリ上で80MBになっちまう。
GameMakerで作ったゲームでメモリ食ってしまうのは仕方がないの?
RPGを作りたいんだけどGameMakerじゃあ不向きなんだろうか。

試しにメモリが64MBしかないノートパソコンでゼルダを動かしたら、
メモリにメッセージ音を読み込めなくてエラー落ちしてしまうんだが・・・。
2Dなのに必要スペックが高すぎるがする。
96名前は開発中のものです。:2005/11/22(火) 10:20:01 ID:eOxq0/Li
ゼルダやってみたらちょっと動かしたら
レジストバージョンじゃないとダメというエラーでとまった。
exeファイルつくってもだめだった。
だめじゃんこれ。
97名前は開発中のものです。:2005/11/22(火) 11:01:15 ID:8L6XVzNj
リンク先のexecutableじゃないと実行できないよ。
98よこしまなMr.0:2005/11/22(火) 16:43:27 ID:UH8ldhAq
Game Maker/Examples/ディレクトリ中にあるゲームのメモリ使用量を比べてみました
タイトル ... v5.3A, v6.1
1945 ... 6MB, 16MB
Asteroids ... 9MB, 21MB
hit the ball ... 5MB, 16MB
Pacman ... 8MB, 19MB
Street race ... 6MB, 14MB

このように、6.1ではメモリ使用量が多い傾向にあるようです。
次の6.x系リリースでは32bitPNG形式のグラフィックスまでサポートされるようなので、6.xはまだまだパフォーマンス調整が続きそうです。
規模の大きいゲームを作るなら5.3Aを使ったほうが良いと思います
99名前は開発中のものです。:2005/11/22(火) 17:12:15 ID:8L6XVzNj
物によってはメモリ使用量が3倍も違うものがあるんですね。
2Dゲームをプレイされる方はスペックが強くなさそうですし、
5.3Aのが良さそうですね。
とても参考になりました。ありがとうございます。
100名前は開発中のものです。:2005/11/24(木) 18:18:25 ID:CsYr03Zw
昔、ブラックアウトやホワイトアウトなどのフェード機能は無いと変な事を書いた気がしますが
screen_gamma(r,g,b)
のrgbを-1〜1まで連続的に変化させることで出来たようです。(ただし排他的グラフィックモードのみ)
というわけで訂正でした。

>>92
お疲れ様です。
これで吉里吉里みたいなシナリオファイルを読むスクリプト組めば、
かなりRPGへの道が開けそう。
101名前は開発中のものです。:2005/11/25(金) 15:06:49 ID:X7+6y7nO
101げt
102名前は開発中のものです。:2005/11/25(金) 21:27:44 ID:7KvtNZsM
>>100
それは5.3aのみの機能ですね。
ver 6 以降でやろうとすると、色限定ですが image_alpha をうまく利用するとできます。
ttp://gamdev.org/up/img/3906.zip
103名前は開発中のものです。:2005/11/25(金) 22:49:50 ID:7KvtNZsM
ああ、このスレの上で話題になってたのは 「半透明以外で」 ってことだったんですね…
スレ汚しスマソでした
104よこしまなMr.0:2005/11/26(土) 05:05:25 ID:at2Pv5vm
>>99
どもです。
GM6からは描画エンジンがDirectX8.0のDirect3Dになったので、「ちょっとした3Dゲームが安定して動作する」ぐらいのスペックがないと重くなるということでしょうね
具体的に言えば、VRAMが16MB以上でなおかつ「DirectX8以上に対応したグラフィックアクセラレーション機能」を持ったビデオカードを搭載したPCのことです

>>100
どもです。
RPGといえば、GMJのpollingでもRPGが2位だったりするんですよね(笑
ttp://gamemaker.main.jp/modules/xoopspoll/pollresults.php?poll_id=2

>>102
サンプル乙です!
105名前は開発中のものです。:2005/11/27(日) 22:07:44 ID:EmdQyuG5
RPGツクールの出来ないことを補完するという意味では、
ARPGなんか向いているのかもしれないですね。

>>102
あれれ、無くなってたんですか。何でだろう。
サンプルありがとうございます。
半透明でも結構いけますね、
前試したときは遅かったんですが……やり方が悪かったのかなあ?
106名前は開発中のものです。:2005/11/27(日) 23:37:33 ID:+Amk6YHF
RPGツクールよりは遥かに難しいけど・・・でもこのツールはいいね。
107名前は開発中のものです。:2005/11/28(月) 12:58:04 ID:aaSM7huu
http://www.gamemaker.nl/games_exe.html
↑ここに載ってるGameMaker製のスタンドアロンのゲーム、VRAMが4MBのノートでも動いたけど、
5.3Aで作られているのだろうか。
「HardHat2」や「SonicZone」を見る限りでは、RPGツクール2000や2003よりは
ツールの自由度はかなり高いと思われる。
プログラミング言語が組み込まれている為に、
オリジナルのRPGを作る為に自作メニューや自作戦闘を組む際の手間が
ツクール2000や2003に比べて遥かに少ない。
FF5やFF6クラスのRPGも再現出来るかも知れない。
108よこしまなMr.0:2005/11/28(月) 22:09:16 ID:BOHEPyw1
>>105
GM6ではexclusive graphics modeが撤廃されたためにscreen_gammaなどは使えなくなったようです

>>107
そこのゲームは結構前から載ってるのでGM5製だと思います

/* ひとりごと */
しばらくGM6.xは開発状況を見守っておくとして、Library Builder(ttp://www.gamemaker.nl/faq.html)で5.3A向けRPG構築用アクションライブラリでも作ろうかと思ったわけですよ
[Learn the sorcery(魔法を習得)]アクションとか [Change the class(職業を変更)]アクションとか [Configure the keyboard(操作ボタンの設定)]アクションとか色々作っておき
kernelオブジェクトに独自イベントの処理(会話窓の表示、マップ間のジャンプ、パーティの強制移動、...)とゲームの進行を任せるといった線でいこうかと思ったのですが、
もはやGame MakerではなくなるしRPGとは何かという疑問にぶち当たるので、タンスの奥深くにしまっておきますね。
上記とは関係ありませんが、タクティクスオウガ外伝のようなターン制戦闘シミュのロジックが書きたくてしょうがないので山で修行してきます。
109名前は開発中のものです。:2005/12/03(土) 03:50:34 ID:aTVA3x5t
>102
サンプル使わせて頂きました。
感謝ですー。
おかげさまで明暗を使った面を作れました。
動作も別に重くないようでしたよ。
110よこしまなMr.0:2005/12/07(水) 01:10:31 ID:smGH6xtr
近況報告1) GM Japanフォーラムのカテゴリを一新しました ttp://gamemaker.main.jp/modules/newbb/ ログインしなくても名前付きで投稿できます。ビシバシ書き込んでください

近況報告2) GM6.2で追加予定の「新しい画像素材」および「32bit PNG」について ttp://gamemaker.main.jp/modules/news/article.php?storyid=28

近況報告3) jFontMaker新バージョン調整中 ttp://gamemaker.main.jp/modules/news/article.php?storyid=29
111名前は開発中のものです。:2005/12/07(水) 09:45:48 ID:11Jy8G43
乙であります!
112名前は開発中のものです。:2005/12/13(火) 19:55:36 ID:BihfZgrC
公式の stand alone で紹介されてる doomed ってスゲエな。
よく調べたら、あれで使っている仕組みは GameMaker バージョン 5.3Aで未レジストでも動く。
Gadget 3D っていうみたいだけれど。興味ある人いたら見てみては?

公式っぽいページ(英語)
ttp://www.geocities.com/freegadgets/3d_engine

技術的な話をすると、立体的な壁の描写には draw_sprite_part_ext() をうまく利用している。
5.3Aだとこれを未レジストで利用できたんだが、
6.0以降は未レジストでは利用できなくなってしまった。残念。
113名前は開発中のものです。:2005/12/14(水) 02:27:26 ID:co+V8Lko
>112
これ使ってウルティマアンダーワールドみたいなのを作ってみたいと思ったけど、
デモとかちょっとプレイした限りではZ軸が無さそうなんだけど、あるのかな?
114112:2005/12/14(水) 21:10:11 ID:o6ZocyID
>>113
ざっと内部のスクリプトを眺めてみた。3D処理は基本的なことしかわからないのだけれど。

○壁に見られるようなスプライトのテクスチャ貼り付けは、Z軸に平行な平面(壁)及びZ軸に垂直な平面(床や天井)だけ。
○一般的なポリゴン(三角形)は単色だが、任意の3次元平面の描写は可能。
○カメラ方向の自由度がZ軸回り(Z軸に垂直な平面上をぐるぐる回る)のみのため、上を向く、下を向くといったことができない。
○カメラの位置座標は 3次元で与えられているため、Z軸方向の移動は可能。
○コリジョン判定は、ルームに配置されたアイコンによって行われるので、現状2次元的。

理論上不可能ではないけれど、3次元カメラワーク、Z軸を含めたマップのデータ構造やコリジョン判定、
その他必要な処理のための改造は必要かと。結構大掛かりになりそうだが…。
115名前は開発中のものです。:2005/12/16(金) 21:30:24 ID:QUCuWcKO
わざわざスクリプトを確かめてくれたんか。
さすがに大掛かりになりそうだな。
3Dコリジョン判定やらZ軸のあるマップとかどうすりゃ良いのかさっぱりだ。
あきらめて2Dのゲーム作るわ、ありがとね。
116名前は開発中のものです。:2006/01/03(火) 19:45:15 ID:1JpdSO+W
GameMakerで作られたネットゲームってあるの?
サンプル以外見つからない・・・。
117よこしまなMr.0:2006/01/12(木) 23:44:16 ID:qTSXcIn+
118名前は開発中のものです。:2006/01/13(金) 00:18:58 ID:rVnKY9Wa
>>117
キタ━━━━━━(゚∀゚)━━━━━━ !! 乙です!
119名前は開発中のものです。:2006/01/17(火) 00:02:03 ID:Qbkzy9yI
昨日ダウンロードして使ってみたんですが、98マシンだとサクサク動くものの透過が効かず
XPマシンだとやたらに重くて、本来60fpsのところが15前後しか出ない状態です。
動作条件はまず満たしていると思うのですが、GameMakerの場合いったいなにが一番
描画を左右しているのでしょうか?


120名前は開発中のものです。:2006/01/17(火) 00:10:24 ID:cSc+u/I7
おそらくだが、PC環境、主にグラボの性能が影響するんじゃないか?
121よこしまなMr.0:2006/01/17(火) 19:08:14 ID:scPMRZgg
>>119
おそらくGame Maker6.1のことだと思いますが・・
個人的見解でのGM6.1の動作環境は、「>>104」に書いています。
ちなみに当方のNotebookでは、ATI RADEON 7000系グラフィックスチップ(DirectX8, 3Dアクセラレーション対応)+VRAM 32MB(メインメモリ共有)で安定して動作しております。
まずは、お使いのビデオカードやサウンドカードのドライバを最新版にアップデートして試してみてください。

ただしGM6.xは"まだまだ"開発中なので、しばらくはGM5.3aを使った方が良いかと。
122119:2006/01/18(水) 13:55:40 ID:2SH+Qcry
>>120,121ご回答ありがとうございます。
やはりグラフィック周りが貧弱なせいのようですね。設定しなおしてみます。
また、5.3aのほうも使ってみます。詳しいご返答本当にありがとうございました。
123名前は開発中のものです。:2006/01/23(月) 15:30:01 ID:R+AeK2OQ
とりあえず、代理でライセンス購入してくれるところ
http://www.altech-ads.com/index.htm
124名前は開発中のものです。:2006/01/31(火) 16:25:19 ID:gZrsh7Ln
既出で当たり前かもしれないけど、
透過処理したスプライトのオブジェクトを1画面に一杯配置したら、
ルームエディタが重くなるんだな。
で、ひょっとしたらと思ってバックグラウンドの透過タイルを
一杯配置したら同様に重くなった。

マップ作るときには透過画像が少なめになるように気をつけないとダメそうだなあ。
ゲームが動作中は重くないので、そこまで大問題って訳でもないが。
125名前は開発中のものです。:2006/02/07(火) 00:36:49 ID:3ssvjcXI
なんで11月からぱったり人がいなくなったんだろうここ。
ところで、「ボタンを押した長さで効果をかえる」っていうのはできる?
ぶっちゃけボタンの押し具合でジャンプの高さとかを変えてみたいんだけど
126名前は開発中のものです。:2006/02/07(火) 00:38:24 ID:3ssvjcXI
ものすっげーはずかしーヽ(゚∀゚)ノ!
127名前は開発中のものです。:2006/02/07(火) 01:42:33 ID:W4t70fLm
おれも急に人がいなくなって不思議に思ってる。
Game Maker Japan 非公式サイトでDLできるHAREって
ゲームが参考になるんでないかな。
タメジャンプアクション。
128名前は開発中のものです。:2006/02/07(火) 11:18:31 ID:T3W7pWwz
ずっとROMってました。
年度末に近くなるほど仕事が激務になり
GMにまで手が回らなくなって放置状態に・・・。

最近前倒しで落ち着いてきたのでGMいじりは再開してる。が、書くことが無いorz
129Joker:2006/02/08(水) 09:07:08 ID:faCpz2xY
こんにちは。最近GameMakerを始めたJokerといいます。本当に2週間くらい前
に始めたばかりでわからないことだらけなんですが、はじめにロックマンの様
な2Dのアクションを作ろうと思っています。そこで少々問題が起こっている
んですが、プレイヤーキャラクターをいろんなアクションに対応させるために
左向きやジャンプ時などのオブジェクトにいろいろわけてあるのですが、
その際にViewを使う時に追うオブジェクトを一つしか設定できないのでスクロール
がうまくいきません。2つ目のviewに左向き等のオブジェクトを対応させてみたところ、
左向きの方しか追わなくなってしまいました。何か解決策などのアドバイス
がもしあったら教えていただけないでしょうか?また、viewで画面をスクロール
させる時に、端に行った場合でなく、キャラを中心にスクロールさせる
ことは可能でしょうか? 長文失礼しました。
130よこしまなMr.0:2006/02/09(木) 23:41:30 ID:Y8A9AByD
>>123
GMの紹介はされていますが、レジストはできないみたいですね。
でも、「■ご購入について」のページにShareIt!の解説があるのでレジストする際の参考にはなると思います。

>>129
長くなるのでforumの方で返信しときました
ttp://gamemaker.main.jp/modules/newbb/viewtopic.php?topic_id=46&forum=1&post_id=164#forumpost164
131Joker:2006/02/10(金) 01:47:35 ID:teDVSfxU
ありがとうございますー。大変参考になりました。
あと、いろいろやってるうちにわからないところが3点ほどでてきたんですが、
質問してもよろしいでしょうか?フォーラムの方に記載しておいたんですが・・。
132xyz:2006/02/10(金) 10:28:17 ID:vmTX8Bzr
GMLをタイプして作るやつありますよね。
あれってどうやったら あのような画面が出てくるのですか?もうさっぱりなのでどなたか教えてください。お願いします。
133名前は開発中のものです。:2006/02/10(金) 22:41:05 ID:L/fFtyC9
>>132
「File」メニューの「Advanced Mode」にチェックを入れてください。
134名前は開発中のものです。:2006/02/14(火) 00:04:30 ID:hVzIrwkp
GameMakerではセーブ機能をもったゲームは作れないんでしょうか?
135xyz:2006/02/14(火) 13:31:01 ID:QFe7Aksh
>>133さん ありがとうございました
scriptというのが出てきたのはわかったのですが
GML入門のところにかいてあった
script propertiesや execute a piece of codeなどの画面は
どうしたらでますか。
136名前は開発中のものです。:2006/02/14(火) 19:00:34 ID:OGIWffPi
>>135
ヒミツ


マヌアルに目を通してみようよ
137名前は開発中のものです。:2006/02/15(水) 20:04:58 ID:6LM6alMi
いっそ同人ゲー板のほうに立てるか類似スレ立てたほうが人集まるんじゃね?
138125:2006/02/16(木) 19:54:41 ID:+HYBFe6p
さっぱりわからんです……
ダッシュと組み合わせようとするとなおさらさっぱり。
139名前は開発中のものです。:2006/02/17(金) 04:01:55 ID:dYDNpFED
>>138
タメジャンプじゃなくて、マリオみたいにジャンプ後に制御したいのかな?

変数を一つ用意して、ジャンプした時に変数を1にする。
一定時間経過するか、ボタンを離したら変数を0に戻す。
で、変数が1の間は重力の効きを弱くする、というのではどうでしょう。
140名前は開発中のものです。:2006/02/17(金) 21:27:27 ID:EyjSGAvO
139じゃないけど139をヒントに作ってみた
ttp://gamdev.org/up/img/4690.zip
こんな感じ?
141名前は開発中のものです。:2006/02/17(金) 23:48:09 ID:7zEm/w8C
うぉ いつのまにかレスが
>>139
その通り、マリオ(もっというとロックマン)みたいなジャンプを再現したかったのです。言葉足りなくてスマソ
とりあえずその方法を試して見ます。
>>140
感じとしてはそんな感じです、わざわざすみません。
142名前は開発中のものです。:2006/02/19(日) 14:11:12 ID:CCeheyjZ
同意できるのに>>134がスルーされている件について
ヘルプ読んでも、わかんねえ…。
143名前は開発中のものです。:2006/02/19(日) 14:15:33 ID:hVYPSpvh
引用: Save the game(ゲーム状況を保存)
現在のゲーム状況をセーブします。
つ「ttp://gamemaker.main.jp/
144名前は開発中のものです。:2006/02/20(月) 01:52:21 ID:Ngv0PK/O
ヘルプにあるぞ。
Finishing the Game -> Global game settings -> Various other options
Let <F5> save the game and <F6> load a game
デフォルトでこの機能は有効になっている。

変数などの状態は保存できるので、機能的には通常、これで十分かと思われる。
しかし、どこでもセーブ可能なため、制限したいならこのチェックをはずし、アクション "Save the game" 等を使って自力で組む必要がある。
パーティクルの状態が再現されないなどの点にも注意。
145名前は開発中のものです。:2006/02/20(月) 12:39:53 ID:7gRnoyKe
わざわざ自前でファイルに書き出して読み込みやってたオレはアホかw
スクリプトがもっと書きやすかったらGameMaker良いんだがなあ・・・。
146名前は開発中のものです。:2006/02/20(月) 13:49:24 ID:QEe7nvmj
そこでDelphiですよ
147名前は開発中のものです。:2006/02/20(月) 14:55:56 ID:4zpNyKhY
なんでまたDelphi
148名前は開発中のものです。:2006/02/20(月) 16:13:18 ID:ZzYiwD5Z
どこでもセーブはゲームバランス崩されるし、
直ぐ飽きられる場合もあると思う。

>>145
こだわりがあっていいじゃん。
149名前は開発中のものです。:2006/02/21(火) 23:19:35 ID:ygP3Me4d
     ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ( ´∀`)/< 先生! 自己満足ゲーム作ってたら、
 _ / /   /   \   原因不明のバグにぶち当たりました!
\⊂ノ ̄ ̄ ̄ ̄\  \_______________
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          || 
150名前は開発中のものです。:2006/02/22(水) 00:04:54 ID:+bb3J/62
うp汁
151名前は開発中のものです。:2006/02/22(水) 02:13:42 ID:WD1YjkLm
ドット絵ばかり書いててまったくゲーム作りが進まない俺ガイル
152名前は開発中のものです。:2006/02/22(水) 10:18:04 ID:RmfqUly/
>>150
とうあえずうp
ttp://gamdev.org/up/img/4743.zip


□ 同士が離れていると、仲間の近くへ移動するようにしたいんだけど動いてくれない。

○のDepthを変えるとちゃんと動くようになるみたいなんだけど、
GameMaker自体のバグか何かなのかな?
だけど変えると今度は○の方がおかしくなるし・・・
153149=152:2006/02/22(水) 12:17:49 ID:RmfqUly/
6.1バージョンで問題なく動くのを確認・・・

どうも5.3Aのcollision関連の関数で起きる模様。
154名前は開発中のものです。:2006/02/22(水) 12:38:07 ID:RtW+y/jz
>>150
まちがってたらすません
前レスの717〜740ぐらいに丼氏のボイドトランサーで逆のパターン(近くにいるおなじインスタンスから離れる)
だったかの質問レスがあるのでそれもチェックしてみたら?
>>50に前レスログのURLあるよ
155名前は開発中のものです。:2006/02/22(水) 13:08:59 ID:RtW+y/jz
>>よこしま氏 mbtext_scripts&jfont使わせてもらってます。今のところええ感じです・・といいつつ質問なんですが(^-^;;
mbtext_draw()の第4引数widthを指定しない時やwidthに満たない幅で描画するときに描画幅を調べる構文を以下の様に書いてます。
今のところ"\\n”や改行などを無視してもいい状況なのでこれで妥協してます。
作者観点から付け加えがありましたらヨロシクです。
----------ここから---------------
var inputtext, code, text_len_cnt, i, textareawidth;
inputtext = "描画させる文字列1234"
textareawidth = 0;
text_len_cnt = string_length(inputtext);
for( i = 1; i <= text_len_cnt; i += 1)
{
code=ord(string_char_at(inputtext, i));
if((code>=32)&&(code<=126)) textareawidth += global.mbchar_size/2;
if((code>=129)&&(code<=152)) textareawidth += global.mbchar_size;
}
156名前は開発中のものです。:2006/02/22(水) 13:44:20 ID:RtW+y/jz
上の続き
この後に
mbtext_draw(inputtext, room_width/2 - textareawidth/2, 150, 0, 0, 0))
といった感じで続けています。
157名前は開発中のものです。:2006/02/22(水) 14:14:25 ID:CuQeG0lj
>>151
絵師乙です!
158149:2006/02/22(水) 14:32:17 ID:RmfqUly/
>>154-156
サンクス!調べてみます。
159154:2006/02/22(水) 14:52:00 ID:RtW+y/jz
>>149
レス番間違えてた;;ごめん;
160名前は開発中のものです。:2006/02/22(水) 18:51:30 ID:WbHshgLK
質問なのですが、Keypressed、Keyreleasedに相当するジョイパッドのイベントはないのでしょうか?
それとも押したら変数で逃がしてうんたらかんたらなどをGMLで記述しないと作れないのでしょうか。
161よこしまなMr.0:2006/02/22(水) 19:28:30 ID:vs/6uiJn
>>155-156さんのご指摘を受けて、テキスト領域の試算のみ行う関数(mbtext_draw_test関数)を追加し、mbtext scripts 1.3.0として公開しました。
ttp://gamemaker.main.jp/modules/news/article.php?storyid=31

>>160
以下のスレッドに同様の質問があります。
GMJ Forum -> ジョイスティックのボタン押下時にイベントを発生させたい
ttp://gamemaker.main.jp/modules/newbb/viewtopic.php?viewmode=flat&topic_id=37&forum=1
162名前は開発中のものです。:2006/02/22(水) 23:01:27 ID:kPdMax+/
>>152
instance_furthestの返り値を表示してみたら-4(noone)になってるね。
しかし、Squareがルーム内に複数いる以上、nooneが返ることはありえないはず。
は、もしかして……!

スプライトとオブジェクトの名前がかぶってますよ。
163149:2006/02/23(木) 10:06:26 ID:tTwTR64C
     ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ( ´∀`)/< 先生! if (collision_circle(self.x,self.y,70,Spuare,false,true))
 _ / /   /   \     を
\⊂ノ ̄ ̄ ̄ ̄\ |     if (distance_to_object(Spuare) < 70)
 ||\        \\   に代用させた所、問題なく動きました!
 ||\|| ̄ ̄ ̄ ̄ ̄||   \_______________
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          || 


>>162
違うようにした方がいいんでしたっけ?
164名前は開発中のものです。:2006/02/23(木) 12:52:18 ID:3zWbUjiF
>>152
スゲー
AIですか
165名前は開発中のものです。:2006/02/23(木) 14:15:06 ID:PAdpKi4b
>>152
いろいろ調べた結果、GameMaker 5.3A側でcollision系関数の引数 notme の適用方法にバグがありそうですね。
コリジョン対象のオブジェクトを オブジェクト名で限定した場合、特定の状況で notme を true としても有効にならず、
本来なら「偽」と判定される状況でも「真」となってしまう模様。(対象オブジェクトがallとかなら問題なさそう)
6.1では、このバグは解消されているようです。
・・・5.3Aのサポートは終わってるのかなぁ…?
166よこしまなMr.0:2006/02/23(木) 17:52:05 ID:iLVzLMDT
>>163
違うようにしないとだめなんです。
なぜなら、リソース識別子はダイレクトにGMLの定数としてマッピングされるので、同じ名前空間で識別子の衝突が起こってしまうからです。
これはGMJフォーラムでも何度か話題に上りました。
ttp://gamemaker.main.jp/modules/newbb/viewtopic.php?topic_id=34&forum=6&post_id=136#forumpost136

>>165
ttp://www.gamemaker.nl/bugreport.html には一応「Older version」という選択項目もあるみたいですが、"Make sure you use the latest version of Game Maker. We do not handle bugs in older versions."という記述がこれまた微妙ですね


お知らせ:
現在、GM5/GM6でmp3,oggをBGMとして再生することができる連携プログラムを開発中です。この連携プログラムは、レジスト版の機能に「依存しない」ので、Game MakerのBGM再生機能に不満を抱いている方にとっては便利なものとなる予定です。
(.NETアプリではないので軽いはず。MODにもおそらく対応。MIDI形式は未定)
167149:2006/02/23(木) 18:55:07 ID:tTwTR64C
>>164
英語ダメ、計算ダメ、絵ダメ、文才ダメだけど、
AIだけには拘りと自信があるのだ。

>>165
ふむふむ・・・検証オツカレです。

>>166
特に問題なかったから今まで普通にシテマシタヨ。
参考になりました。
168名前は開発中のものです。:2006/02/24(金) 04:19:37 ID:/Tk/YbQr
>>よこしまさん
155です
前回の書き込みで舌たらずな文章で心証悪くしてたらすみません。
そして素早い対応、すっごく感謝です。ありがとうございました。

今シューティングを作成してて・・スコアとかの表示関連を作りなおしてるんですよ。
それで自機が近づいたら表示を画面外に出すやつをやってて、
先に描画領域が取得したかったんです。

mbtext動作状況はゲーム進行を妨げずうまく動作しています。

169よこしまなMr.0:2006/02/25(土) 02:33:02 ID:mwGxEe4m
>>168
いえいえ
実際の描画幅を取得できないというのは盲点でした。
おかげさまでmbtextを改良することができたのでこちらこそ感謝です。

お知らせ:
>>166でちらっと触れていたBGM再生用のプログラムおよびスクリプトがほぼ完成しました。
再生に対応しているサウンド形式は「mp3, ogg, mod, it, xm, s3m」です。
同時に再生できるサウンド数は無制限です。
GM5/GM6と共に動作し、レジスト版でも未レジスト版でも動きます。
機能的には、「再生、一時停止、再開、停止、リセット」の操作、および、「音量、再生スピード、パン、ループ」の制御(再生後でもサウンドごとに変更可能)をサポートしています。

GMとは別プロセスでサウンド再生を行いますが、制御元のGMのウィンドウが消失すると自動終了する仕組みになっているので、万が一GMのゲームがフリーズした場合でも「サウンドだけがずっと鳴ったままになる」という事態は起こりません。
また、サウンド再生を行ってもGMのゲームスピードを遅らせることはありません。ループ再生の場合も安定して動作します。

いまいち分かりにくいかも知れませんが、GMのゲームが この「BGM再生用のプログラム」を非同期制御するという仕組みです。
GM側からは、簡単なスクリプトを呼ぶだけで透過的にサウンド再生を行うことができます。

例:my_music.mp3を音量80%で再生する
bGM_play("my_music.mp3", 0.8);

現在、細かい改良と調整を行っています。
170よこしまなMr.0:2006/02/26(日) 21:15:52 ID:2s5I4Elf
bGM; background-music player for Game Maker
ttp://gamemaker.main.jp/modules/news/article.php?storyid=33

名前が覚えやすい(BGMとカブる)のが最大の特徴です( ワラ
171名前は開発中のものです。:2006/02/26(日) 23:33:03 ID:FvVbCteI
>>170
IDが妖精サンダー
172名前は開発中のものです。:2006/02/27(月) 23:56:13 ID:cC0bdxOd
withの使い方で質問です。
withの中ではotherが元々selfだったインスタンスを参照するようになりますが、
では元々otherだったインスタンスはどうやって参照できるのでしょうか?

具体的には、自分と敵弾がぶつかった時に破片を飛び散らせようとしてるのですが……

// self=自分、other=敵弾
var i, ii;
for (i = 0; i < 8; i += 1) {
ii = instance_create(x, y, obj_fragment);
ii.direction = i * 360/8;
ii.speed = 4;
with (ii) {
motion_add(???.direction, ???.speed / 2); // ←ここで敵弾の動きを合成したい
}
}

??? の所に何を入れたらいいかわからなくて困っています。
173172:2006/02/28(火) 03:02:25 ID:emwe4w/O
すみません、よく考えたらやりたいことは
ii.hspeed += other.hspeed / 2;
ii.vspeed += other.vspeed / 2;
で可能でした。
でも後学のため、with内から外側のotherを参照する方法
ご存じの方いたらお願いします。
174名前は開発中のものです。:2006/02/28(火) 14:52:42 ID:vklEnotz
>>172
スクリプト内部の一時変数に記憶しておくしかないかな。

-----
var other_id;
other_id = other.id;

with ( ) {
  // withループ内でも、変数 other_id で 元々の other のインスタンスIDを参照できる。
}
-----
175よこしまなMr.0:2006/02/28(火) 18:56:54 ID:6cM1DN1x
>>172-173
174さんが仰っている通りですね。たぶんその方法しかないと思います


bGMのプレビューデモ(*.gmd, *.gm6)を公開しました。
ttp://gamemaker.main.jp/modules/news/article.php?storyid=34

マウスクリックおよび[←][→]キーに合わせてoggストリームの音量・パン・ピッチシフトを変化させるデモです。
176172:2006/02/28(火) 23:15:51 ID:emwe4w/O
>>174
ども、それでいけました。
with内では何も付けなければvarで宣言した変数を参照できるみたいですね。
ん、でも、同じ名前のインスタンス変数があったらどうなるんでしょう?

実験してみたらこんなん出ました。

var inst1, X;
inst1 = instance_create(0, 0, object1);
X = 'var X';
self.X = 'self.X';
inst1.X = 'inst1.X';
with (inst1) {
show_message(X); // ←これは var X になる
show_message(other.X); // ←これは self.X になる
show_message(self.X); // ←これは inst1.X になる
}
177名前は開発中のものです。:2006/03/07(火) 20:49:20 ID:c3gblkOt
保守
178名前は開発中のものです。:2006/03/08(水) 00:00:41 ID:pSfOHtTI
ほしゅおつ
179駄々:2006/03/08(水) 15:02:46 ID:U8guAHRA
初めまして駄々といいます
質問なんですがキャラのアニメーションでカーソルキー→を押したら
右に移動しているアニメ
←をおしたら左に移動しているアニメを表示させるにはどうすれば良いのでしょうか
簡潔に言うと
→を押したら ● ⇒ ●
>| /|
みたいな・・・(分かりにくくてすんません)
180名前は開発中のものです。:2006/03/09(木) 01:46:39 ID:fAsQapMu
>>179
右用オブジェと左用オブジェ作って同一親オブジェクトを登録
右用オブジェと左用オブジェの逆方向のキーボードイベントで逆のオブジェクトへ
インスタンスチェンジする。
共通のイベントは親オブジェクトで作成する

みたいな感じがいいんでないかい?
181駄々:2006/03/09(木) 01:58:19 ID:kV2wX20F
>>180
それでなんとか出来そうです
ありがとうございます!
182名前は開発中のものです。:2006/03/10(金) 02:52:55 ID:/vwSpjSb
わーいロックオンレーザーができたヨー
ttp://gamdev.org/up/img/4909.zip
183名前は開発中のものです。:2006/03/10(金) 18:35:27 ID:kxaQ8pGu
>>182
レーザーの動きが滑らかでいいね!

普通に楽しめますねー。
184名前は開発中のものです。:2006/03/11(土) 13:07:48 ID:B0K6mRFK
いいね。GJ!

贅沢いうと、複数ロックオンした時はいっぺんに発射するよりゼロコンマ秒遅れて時間差で
発射するようにしたほうが爽快な気がス
185名前は開発中のものです。:2006/03/12(日) 16:59:08 ID:EbhNu3eR
>>182
パッド差してると勝手に右下に移動しちゃうんだけど……。
186名前は開発中のものです。:2006/03/13(月) 03:31:36 ID:3bCLLKKk
うんうん
187名前は開発中のものです。:2006/03/13(月) 03:45:59 ID:1xHX09ww
>>184
時間差実装してみました。ついでにレーザーの表現もちょっと変えてみたです。
>>185
パッドによってはjoystick_xposが厳密に0を返さないことがあるみたいですね。
閾値を設けて判定するように修正しました。
ttp://gamdev.org/up/img/4967.zip

イカミサイルが時々何にも当たってないのに消えちゃう現象が出るけど、
原因がつかめん……
188名前は開発中のものです。:2006/03/14(火) 19:14:36 ID:8RK8eiVf
>>187
即効で修正しまくるオマエGJ。
189名前は開発中のものです。:2006/03/17(金) 21:57:55 ID:/PdAbkhM
ver.6,1で数値入力の際に「0から32までの数」などというように範囲指定をして入力したいのですが
こういう入力の仕方を教えて頂けないでしょうか

if there is an object at a position
でオブジェクトAがオブジェクトBの一定範囲内に入った場合、行動を起こすようにしたいのですが
この数値の範囲の入力方法がわからず困っております

マニュアルに書いてあるような初歩的な事かもしれないので大変恐縮ですがお願いします

一応、印刷された旧バージョンのマニュアルを持っているので
読んではみたのですが探し当てる事が出来ませんでした…(´・ω・`) 
190名前は開発中のものです。:2006/03/17(金) 23:48:51 ID:UTobLwMn
>>189
if there is an object at a positionは登録したオブジェクトと指定したオブジェクト同士が
衝突しないと真をかえさないので”一定範囲に入ったとき”とはなんだかニュアンスが違うような気がしますが?

自分のやり方でわるいですが”Execute a piece of code(コードを実行)”でGMLを書いたほうがすっきりすると思います
たとえばオブジェクトAのオブジェクト名を”obj_A”オブジェクトBをobj_B”として一定範囲に入ったときオブジェクトAを
動かしたい場合obj_AオブジェのステップイベントにExecute a piece of codeを登録する。
”一定範囲”が単純に”A,B間の距離”でいいならpoint_distance(x1,y1,x2,y2)関数(2点間の距離を計算する)を
使えばいいと思います。100ピクセル以内に入ったときとしての記述はこの場合・・・
if(point_distance(self.x, self.y, obj_b.x, obj_b.y) <= 100)
{
//ここに動かす為の記述をする
}
というふうにしてみてはどうですか?
191190:2006/03/17(金) 23:55:05 ID:UTobLwMn
× if(point_distance(self.x, self.y, obj_b.x, obj_b.y) <= 100)
○ if(point_distance(self.x, self.y, obj_B.x, obj_B.y) <= 100)

細かい訂正及び長文ですいません(´・ω・`)
192名前は開発中のものです。:2006/03/18(土) 00:27:30 ID:WYhXOtxE
>>190
>if there is an object at a positionは登録したオブジェクトと指定したオブジェクト同士が 
>衝突しないと真をかえさないので

済みません、知りませんでした…

プログラムとかできないよって言う友人と作業しているので
GMLは使えないのですが(書くべきことを書いていなくて重ね重ね済みません(´・ω・`))
変数でも同じ事ですので大変参考になりました、有難うございます
193190:2006/03/18(土) 02:26:21 ID:9Lf6fvmN
>>192
> プログラムとかできないよって言う友人と作業しているので
> GMLは使えないのですが(書くべきことを書いていなくて重ね重ね済みません(´・ω・`))
ああ・・なるほどGMLなしなんですか^^; GMLでもアクションアイコン(っていっていいのかな?^^)
でも自分が思っている動きができればOKかと^^
で・・・実現できそうですか?(いっちょかみしたので少し気がかり^^

194名前は開発中のものです。:2006/03/18(土) 04:07:36 ID:KjV7bw5B
ニコニコニコニコうるせーんだよカスども!!
195名前は開発中のものです。:2006/03/18(土) 13:39:39 ID:bMeUjPwj
ニコニコニコニコって?
196名前は開発中のものです。:2006/03/18(土) 14:00:07 ID:U+h1lbvn
どうみても誤爆です。
本当に有難うございました。
197よこしまなMr.0:2006/03/18(土) 21:43:30 ID:G0hInr+C
bGM ver. 1.0.0およびチュートリアル・関数リファレンスを公開しました。
ttp://gamemaker.main.jp/modules/articles/article.php?id=25
198駄々:2006/03/23(木) 20:11:36 ID:QpjTFGD2
お久しぶりです
また質問なんですが主人公キャラに重力を与えたのですがブロック(地面)の上に乗ると
←方向に移動してしまいます(移動と言うよりも左に引っ張られている感じ)
どなたか解決方法を教えてください
199駄々:2006/03/23(木) 21:07:49 ID:QpjTFGD2
>198
自己解決しました
すいませんでした
200名前は開発中のものです。:2006/03/24(金) 00:10:23 ID:1MGw+l1b
>>198-199
いいけど、質問する前に、もっと慎重にな。
フォーラムの質問もおまいなら削除依頼なりなんなりしておけよ。
あと、症状だけいわれてわかるエスパーなどいないことも覚えておいてくれ。
201名前は開発中のものです。:2006/03/24(金) 22:32:50 ID:PR6KQDDw
>>200
ぶっちゃけ過疎ってるんだから小さな質問でもいいんじゃない?

>>199
自己解決すんな。回答を待て!w
202名前は開発中のものです。:2006/03/27(月) 12:11:59 ID:Ft51kzDw
http://kjm.kir.jp/pc/?p=20956.png

…頑張ってみた。
はぁ。
203名前は開発中のものです。:2006/03/27(月) 13:28:28 ID:Ft51kzDw
メインメニューも日本語化パッチ。
http://www.uploda.org/uporg347869.zip.html
204名前は開発中のものです。:2006/03/27(月) 17:34:37 ID:w/CqsEE/
全部日本語化出来た?
205名前は開発中のものです。:2006/03/27(月) 19:38:49 ID:Ft51kzDw
>>204
ジョージ…残念ながらそれは無理だ。
別に出来ないことはないが時間が無い。
リソースにメッセージデータが入ってない箇所が多すぎる。
いちいち特定してCRCエラーが起きないようにビクビクしながらやるのは
すごく大変なんだ。

クラック対策用の処理の潰し方が結構適当。
とりあえず致命的エラーは起きないようにしてあるけど、
起動時に必要な処理をどっか潰してる可能性もある…。

まぁ、俺が使っている"かぎりでは"何の問題もない。
ちゃんとファイルのロード、セーブも出来てるし実行ファイルの出力も出来た。
実行ファイルの方には何も手をつけてないから当然か。
206名前は開発中のものです。:2006/03/29(水) 06:10:57 ID:s0l2fzu9
てか最新版の日本語化じゃないのか。
207名前は開発中のものです。:2006/03/29(水) 14:06:16 ID:BdCnmoxX
GJ
208駄々:2006/03/29(水) 22:26:10 ID:Mzj60OcA
質問させていただきます
ロックマンのようなボスキャラの動きなどはGMLコード(だっけ?)を使わなくては作れないのでしょうか?
質問ばかりですいません(しかも無駄レス・・)
209名前は開発中のものです。:2006/03/29(水) 22:34:41 ID:PV+kH8qv
質問キター


ロックマンのようなボスの動きというのがわからないので回答できません。
すみません・・・
210駄々:2006/03/30(木) 00:08:23 ID:98xmE8PI
ロックマンのボスのような動きの例(例っていうかこんなふうに動かしたい)
・左右にランダムに動く(又は壁にぶつかったら反対方向に動く)
・2〜3秒に一回攻撃する
・ピンチになると本気モードになる(これは実装するか分からないのですが一応)
以上の動きをさせたいんですが
GMLコードを使わなくてもできますか?
211名前は開発中のものです。:2006/03/30(木) 13:19:39 ID:YmzEqY6O
>>210
実際試してないができると思う、詳細はマニュアルorヘルプファイル参照願う
>左右にランダムに動く
ステップイベントにWith a change perform next actionをおいてsidesを2で指定し、その下にReverse horizontal directionアクションをおいて反転させる
With a change perform next actionの結果が偽ならReverse horizontal directionは無視され結果1/2の確率で反転される。

>壁にぶつかったら反対方向に動く
ステップイベントにIf there is a collision at a positionを置いてRelativeにチェック、x,yにはボスが1ステップで動く量を代入する(実際に動く前に
どこへ動くかの前判定になる)objectには壁になるオブジェクトを指定してやる(壁オブジェは親オブジェでくくっといてこの親でobjectに代入しておくと後々楽)
後は左右に動くと同じでReverse horizontal directionを登録、縦方向の動きがあるならReverse vertical directionもあわせて登録しておく、
この場合Start of block、End of blockで前述のReverse horizontal direction、Reverse vertical directionアクションをまとめてやる。

この2つは既に動作アクションが前もって実行されていることが前提であるから生成イベントとかで動作アクション等を割り付けておく。

212211:2006/03/30(木) 13:44:20 ID:YmzEqY6O
続き
>2〜3秒に一回攻撃する
アラームイベントを使う。
一番シンプルなのが常に指定した単位秒で毎回攻撃するという形で書かせてもらうと
生成イベントでアラームアクションを登録number of stepには現状ルームスピード*秒数の値を、
in alarm noにはどのアラームを使うかを指定する。
指定したアラームのイベントに攻撃する用のアクションを登録していって、最後に生成アクションでつくったアラームアクションをコピぺする
これで指定秒ごとに繰り返すようになる。

>ピンチになると本気モードになる
ピンチというと普通HPがある程度のとこまで減ったとかそんなんだよね?
それ前提で・・・
ステップイベントでHPとなる変数を If a variable has a valueで監視→規定量以下になったらさっきの
「2〜3秒に一回攻撃する」の秒数を減らすとか、移動スピードを多くするとかしてみたらどう?
実装するときはこの秒数なり移動スピードを変数で登録しておくなどの下ごしらえで結構楽に組めたりするよ
213211:2006/03/30(木) 14:02:04 ID:YmzEqY6O
訂正
>>左右にランダムに動く
>ステップイベントにWith a change perform next actionをおいてsidesを2で指定し、
>その下にReverse horizontal directionアクションをおいて反転させる
>With a change perform next actionの結果が偽ならReverse horizontal directionは無視され結果1/2の確率で反転される。
ステップイベントでやると毎回確率判定が行われるから反転が重なる可能性がおおいので
これもアラームアクションを使って何秒間かに1回判定をかける方がいいですね
214名前は開発中のものです。:2006/03/30(木) 16:02:04 ID:flRGae76
(別解)
とりあえずは上のアラーム使う方法が手っ取り早いと思うけれど、
タイムラインで行動パターンを組んでループさせる方法もあるね。
特に説明はしませんが

ステップ数 行動
0 ランダムで方向決める
100 弾を撃つ
110 ジャンプ
200 弾を撃つ
250 弾を撃つ
400 先頭へ戻る

タイムライン上のスピードの変数もあったりするから、
GMLも知っておくといろいろ応用が利く。
パターン化された動きをするならこっち、
AIっぽく振る舞わせるならタイマーかなあ。
215名前は開発中のものです。:2006/03/30(木) 16:06:44 ID:flRGae76
タイマーじゃなくてアラームだ。
クリック&プレイ使ってた時の癖が
216駄々:2006/03/30(木) 21:16:29 ID:98xmE8PI
非常に助かります!!
とりあえず後で試してみます!
自分もクリック&プレイしてたな〜・・・・
217名前は開発中のものです。:2006/03/31(金) 16:41:53 ID:4VV46Pcn
まだKNP使っている自分orz
218名前は開発中のものです。:2006/04/03(月) 14:38:26 ID:W85JHXvu
なんだかんだでKNPは手軽ないい玩具だったよなあ。
アレくらいわかりやすいともっと流行るのかなあ……
219駄々:2006/04/13(木) 12:58:29 ID:CCVlXrag
また質問です
・主人公についてくる
・敵が近づいてきたら攻撃しにいく
・敵が近づいてきたら遠ざかる(↑のとは違うキャラです)
上記のようにキャラを動かしたいんですかどうすればいいのでしょうか?

前回のはうまく動きました!(本気モードはまだやってない)
211さんありがとうございました
220名前は開発中のものです。:2006/04/15(土) 19:49:09 ID:fbNvFET3
これ面白いですね。けどさすがに知識0な自分には厳しいかな
チュートリアルのボールゲームは作れたけど、自力じゃ歩くキャラ作るのもままならないやw
221名前は開発中のものです。:2006/04/17(月) 01:49:39 ID:MWZgJo7r
はじめましてです。質問してもいいでしょうか?

30フレームのroomAにおいて、
オブジェクトBの座標に向かってスピード80で進むオブジェクトAがオブジェクトBと重なった時に次のイベントが発生するように
イベントの発生条件をアクションリストのIFを使って

obj_A=(obj_b.x,obj_b.y)

としたのですが、2〜3回に一回程素通りされてしまいイベントが開始されません。
どうすればいいのでしょうか?

あと、オブジェクトが重なりあった時の前面に出るオブジェクト画像の優先順位は変えられないのでしょうか?

どなたかお願いしますm(__)m
222よこしまなMr.0:2006/04/17(月) 05:47:17 ID:cr8rW51E
>>221
>オブジェクトAがオブジェクトBと重なった時に次のイベントが発生するように

Case1. 自インスタンスの位置がobj_bの位置と同じかどうか判定する場合:
[If an expression is true]
expression: (x == obj_b.x) && (y == obj_b.y)

Case2. 自インスタンスのspriteがobj_bのspriteと重なっているかどうか判定する場合:
[If an expression is true]
expression: place_meeting(x, y, obj_b)

>オブジェクトが重なりあった時の前面に出るオブジェクト画像の優先順位
各オブジェクトのdepth(深度)を変更します。
223名前は開発中のものです。:2006/04/17(月) 10:55:50 ID:Zn9G8oL+
横槍でごめん
>>222さん
>>221さんは
>スピード80で進むオブジェクトA
及び
> 2〜3回に一回程素通りされてしまいイベントが開始されません。
といってるから多分コリジョンエリアが重なっていない症状が出てるんだと思うんだけど?
だとするとexpressionは線分で判定するcollision_line()がいいんじゃないの
collision_line(xprevious, yprevious, x, y, obj_b, false, true)
みたいな感じで・・・
224よこしまなMr.0:2006/04/17(月) 20:33:57 ID:cr8rW51E
>>223
補足どうもです。
>>222のCase2は素通りしたら意味が無かったです・・・

collision_line()で試してみたところ、collision_line()は「線分そのものと、静止しているobj_bが重なる場合」なら判定できるようです(つまり、「obj_Aのスプライトの形状」および「obj_bも動いていた場合」は考慮されない)。

一方、obj_A,obj_bそれぞれの動きとスプライトまで考慮し、さらに素通りした場合も考慮にいれてコリジョン判定をするとなると、どうしてもGMLでごちゃごちゃforループするしかないみたいです。
(素通りしないようにすれば、通常のコリジョンイベントで十分なんですけどね・・)
225221:2006/04/18(火) 20:49:01 ID:kvqrJBQi
よこしまなMr.0さん>
>>223さん>

詳しい説明有難う御座いますm(__)m
obj_bと同種のオブジェクトをポジションランダムに複数配置して、その上をobj_aが高速で移動していく動きを作りたかったんです。
コリジョンだとビリヤードの球のような動きになってしまったのでできれば他の方法が無いかとおもいましたが、
まだ初心者でGMLを複雑に使いこなすのは厳しいので、まずは欲張らずにコリジョンを使おうと思います。

丁寧に有難う御座いました!
226223:2006/04/19(水) 14:23:47 ID:D713torS
>>225
なるほど、30fpsでspeedが80という高速オブジェってどんなんだろうと
思ってたんだかなんとなく判った。
その要件だとステップごとにdistance_to_object()でターゲットになるobj_bとの距離を
計測してやって80以上の場合にspeedを80とし、未満の場合はdistance_to_object()で
測定した距離の値をそのままspeedに代入してやってはどうだろうか?
減速する形にはなるが減速するのはobj_bと重なる時の1ステップだけで、なおかつ必ず
衝突判定がとれるようになると思う。一回試してみて
227名前は開発中のものです。:2006/04/24(月) 14:36:25 ID:+HnYfiB7
最新版の日本語化パッチまだ〜?
228よこしまなMr.0:2006/04/24(月) 21:24:01 ID:CcS3zOyA
>>227
GMの日本語化について、現在までの情報をまとめると以下のようになります。

▲GM5.3Aの場合、ttp://gamemaker.main.jpで配布している「Game Maker 5.3A用 日本語化パッチ」でインターフェイス部分のみ日本語化可能。
ただし、>>202=203=205さんがメインメニューも日本語化可能なパッチを作成された。(このパッチについてはGMのライセンスに触れるかどうか微妙。現在リンク切れ。)

▲GM6の場合、実行ファイル自体が暗号化されているため、仮に技術的に日本語化が可能であったとしても、GMのライセンスに触れるため、パッチを作成することができない。
以前、本家ttp://www.gamemaker.nl/facts.htmlにて、「GMのプログラムが翻訳されやすいように修正を加えるといったことを計画している」との記述があり、作者さんにメールで問い合わせた結果、「いつになるか分からない」との事。
つまり、GM6自体のi18n(インターフェイスや表示メッセージの多言語化)待ちの状態。
(GM初心者で英語も苦手という人は、本家ttp://www.gamemaker.nl/doc.htmlにて配布されているGM6.0のヘルプ日本語訳が非常に役に立つと思います。)

で、i18nがいつになるか全く不明なので、「日本人のためのGMバイブルみたいなものを作れば、多くの人が気軽にGMを使えるのではないか」と思って試しに作ってみたのが次のHTML Helpです。(まだ目次を書いたぐらいですが)
ttp://gamemaker.main.jp/dlfiles/gm_japan.chm
※WinXP SP2の場合、ファイルのプロパティで「ブロックの解除」ボタンを押さないとHTMLが表示されません。
229名前は開発中のものです。:2006/04/26(水) 09:53:02 ID:GhrlEj72
>>228
乙です。


ヘルプに含まれているGMLの各関数にサンプルコードを付けて欲しいなー。
ここで言うことではないとは思いますがとりあえず要望。
230229:2006/04/26(水) 10:07:26 ID:GhrlEj72
>>228に脊髄レスしてしまってすみません。

>>229で書いた件ですが、ヘルプはGM付属の直翻訳ヘルプの事でして、よこしまなMr.0氏が作成しているHTML Helpではありません。

で、HTML Helpをちょっと見てみました。
関数リファレンスが期待していたような記述になっていてよかったです!
例:項がシンプルで判りやすくGJ!完全版を期待してます。

(たまにGMLの関数で扱いがわからず、数時間も悩むことがあるのでホント期待してます・・・)
231よこしまなMr.0:2006/04/29(土) 07:39:55 ID:QD/JyLTS
>>230
関数リファレンスについては正確性と分かり易さを両立させようと心がけていた次第です。
>228のHTML HelpはDocBookで生成したものですが、いまいち作業が捗りませんでした。
そこでOpenOffice.org 2で書き直してみると、まともなPDFを素早く生成してくれたので、この形式を採用することにします。
ttp://gamemaker.main.jp/dlfiles/u_gm_rev1.pdf
目標としては、リニアに読んでいけば理解できる構成ですね。
それと、こういった文章があればGame Makerを大学や専門学校の講義で活用したい教員の方にとって便利だろうと思います。C++などの言語解説は抜きにして「純粋にゲーム作成について講義をしたい」とか。
232名前は開発中のものです。:2006/05/02(火) 00:31:42 ID:KgjzlEux
誰か英語堪能な人が各コマンドを日本語に訳したものを作者に送りつけてやれ
233名前は開発中のものです。:2006/05/02(火) 09:25:24 ID:2lQlIqWb
よこしま氏のがんばりっぷりを見るにつけ、
作者はそろそろUnicode位対応してくれと思う。
そんな簡単なもんでもねえのかなあ。
催促したら他言語化早まるだろうか。
234よこしまなMr.0:2006/05/03(水) 17:54:24 ID:blvZBroH
パズルゲーム作ってみました。
ttp://gamemaker.main.jp/modules/newbb/viewtopic.php?topic_id=58&forum=8

>>233
GNU gettextを使えばインターフェイスのi18nは割と楽に実装できるんですけどねぇ。
とりあえず、6.2が出た後の動向に期待がかかります。
235名前は開発中のものです。:2006/05/11(木) 07:00:50 ID:7O4pl5z4
ねえねえ
オブジェクト増やしていくとF5のローディング時間だんだん長くなるでしょ
敵キャラクター調整してるとこの時間なんとかならないかなぁとか思うんだけど
みんなどうしてる?
236よこしまなMr.0:2006/05/11(木) 21:52:28 ID:jwuiFM4n
>234のパズルに、ステージ1〜21を追加しました。

>>235
スプライト等の設定画面でLoad only on use(遅延ロード)にチェックを入れておくと、起動時のメモリ確保時間が節約されます。
また、デバッグモードを利用すると、敵キャラの調整が楽になります。
F6でデバッグ起動するとデバッグ窓が左上に出てきて、動作中のゲームを自由に操れます。
ゲームを再スタートしたり一時停止・再開したり、任意のGMLコードを実行したり・・
例えばdebug_enemy_set_speed(7)のように、デバッグ窓から実行するためのScriptを作っておくと楽です。
それと、これは関係ないかもしれませんが、
デフォルトのローディング画面だとロード時間が長く感じられるので、別の画像に変更する方がいいかもしれません。
237名前は開発中のものです。:2006/05/20(土) 15:11:57 ID:xwk6yleS
初心者が軽く作ったものを公開するような場所ってありませんか?
それともここで公開してもよろしいのでしょうか?
238名前は開発中のものです。:2006/05/20(土) 15:29:41 ID:1YSEs6Gy
うpする場所?公開を宣言する場所?
公開は自分の判断ですればいいと思うけど
239名前は開発中のものです。:2006/05/20(土) 15:36:46 ID:xwk6yleS
>>238
公開を宣言する場所を探しているんです
(ついでにそこにうp出来ればなお良い)
とりあえずそこそこ人が楽しめるモノが出来るまで
自分のホムペで細々とやっていきます
240名前は開発中のものです。:2006/05/22(月) 16:43:41 ID:Urgniyb9
自作ゲームのうpって大体はgamedevのうpろだに上げて
該当スレにリンクを貼ってるよ。

たとえば>>6
241名前は開発中のものです。:2006/05/25(木) 01:09:42 ID:diTB1c6U
http://gamdev.org/up/img/5881.zip
GMの練習の為にARPGを作ってるけど
ここからどうやって完成にもっていけばいいか
わかりません><
アドバイスしてください

目標はマリオブラザーズ3です!
242名前は開発中のものです。:2006/05/25(木) 10:49:49 ID:diTB1c6U
練習バージョンアップ
夢中になってしまった
httpのhとったほうがいいのかな
ttp://gamdev.org/up/img/5883.zip
243名前は開発中のものです。:2006/05/25(木) 13:31:34 ID:3ZL7XTw3
マウス左と右クリック逆のほうがいいかもしれない。
洋RPGによくあるような、右で移動先指定、左で攻撃。

障害物の向こうに移動先指定したときに、やたらウロウロするね。
いっそ細かい障害物は無しにして、敵との距離だけ気にして動き回りながら、
スキをみて斬りつけるようなゲームでもいいんじゃないかな。

あとは敵との衝突とダメージ判定がつかないと何とも言えないですな。
ゲーム内容によっては、キャラの移動速度を遅くしたほうがいいかも。
244名前は開発中のものです。:2006/05/25(木) 18:11:42 ID:Mwacr01Y
>241
ダメージ判定つけて、攻撃の種類とか敵の種類増やしたり、トラップつくったり。
ある程度まとまった数が出来たら、
それ使ってステージを作っていくってのはどうかな。

移動時に声出すのがかなりうるさいかと。
あと絵が前向きしかないけど、向きとか付けるのかな?

どの辺がマリオ3なんだろ、と一応つっこんでおく。
245名前は開発中のものです。:2006/05/26(金) 06:43:29 ID:k4FSi0vw
わあ いいアドバイスありがとう!
洋RPGってディアブロとかかなあ
舞台はダンジョンをやめて大草原にしようかな
障害物のないところを走り回りながらジュンペーが飼ってる
羊をころしまくるハイジが主人公 あのスプライトは
本当はSLGつくるつもりで探したやつなんだあ
向きとか動きのある素材また探さなきゃなぁ(googleイメージで?)
トラップは 羊と思って刺したら実はおじいさんだったという
246名前は開発中のものです。:2006/05/26(金) 13:59:02 ID:kfoxKnSO
>トラップは 羊と思って刺したら実はおじいさんだったという
ちょwwwwwグロゲーかよwwwwww
247名前は開発中のものです。:2006/05/26(金) 14:13:36 ID:d77U9LBU
>>245で一気にどうでもよくなった
そんな面白くなさそうなゲームやりたくねえ
248名前は開発中のものです。:2006/05/26(金) 19:34:47 ID:tJAkI24D
アクション物を作っているんですが
なんとなく物足りない感じがするので
なにかアドバイスあればお願いします
ttp://gamdev.org/up/img/5901.zip
出来ればこっちの方が効率がいい、
コレにはこうすればいいという助言も
お願いしますorz
2,3日だらだら作ってもそれっぽくなるってのは面白いですね
249名前は開発中のものです。:2006/05/26(金) 20:58:31 ID:L3nBDPE8
>247
せっかくアドバイスしてくれたのに ゴメンね
おもしろいゲーム考えれるようにがんばります
ありがとう
250よこしまなMr.0:2006/05/26(金) 22:56:33 ID:hl3VOkW0
>>249
画面の構成的には2Dのゼルダに近い印象を受けました。
移動や攻撃がマウス主体(2.5D, 3DのオンラインRPGによくあるタイプ)なら、そこらへんのロジックをしっかり作り込むとゲームに安定感が出てくると思います。

>>248
乙です。
えーと、オブジェクト名等に日本語は使えませんです…
動く床はGMLをバリバリ使わないとおそらく実装できないので、後回しにしてはどうでしょうか?

ステージごとに30秒程度の制限時間があって時間内にゴールに置いてあるバケツに飛び込まないと主人公が爆発してしまうというゲームとか面白そうですねw
サッカーボールにぶつかると制限時間が減ってしまうとか
251名前は開発中のものです。:2006/05/28(日) 12:12:52 ID:S2pwbiOR
GameMakerJapanから
ダークリフレインをDLしてみた
P4-3.2Ghz・520MBのPCでゲーム起動に2分もかかる
ゲームエンジンのせいだろうけど重すぎ

上のゲームは音楽はなかなか良かった
その他のゲーム部分はイマイチつーか発展途上?
しかしRPGツクールを逸脱しない
(RPGツクール作品にない個性が見られない)
のならなぜ自分でシステムから作ろうとするのか

それがロマンなのかな?
252名前は開発中のものです。:2006/05/28(日) 12:13:29 ID:S2pwbiOR
しかしそんなことで一年も費やして結果あの程度では
貴重な人生の時間の無駄ではないか
ツクール使えばいいのに

他人の趣味だからまあいいんだけど
253名前は開発中のものです。:2006/05/28(日) 12:24:07 ID:Hq4BFscb
猫も杓子もツクールじゃツマラナイから。
254名前は開発中のものです。:2006/05/28(日) 12:46:08 ID:IztjGB2K
猫も杓子もツクールじゃツマラナイから、
GM使ってまでツクール作品みたいなの作るなよってことじゃないの
255名前は開発中のものです。:2006/05/28(日) 12:54:19 ID:lqqnBJJY
一理ある
が誰もGM使いを止められないのだ

しかしせめてツクール作品とは一線を画した個性を盛り込んで欲しい
そうじゃないならツクール作品をやるよねユーザーは
やってくれるのはせいぜい作者の個人的な知り合いとかそのくらいで
256名前は開発中のものです。:2006/05/28(日) 18:28:28 ID:nbxXMUhO
ttp://gamdev.org/up/img/5921.zip
レジスト記念及び某段階的学習用にSTG作ってみた。
うーん、弾幕の制御めんどくさす(´・ω・`)
257名前は開発中のものです。:2006/05/28(日) 18:47:08 ID:jq+wgQgD
>>256
クリアできんと思ったらボス倒せないのね、把握。
しかしあれだけタイムラインが長くなると混乱して来るね。
258名前は開発中のものです。:2006/05/28(日) 20:24:37 ID:LnCR+cX5
>>256
スクロール全部をタイムラインで制御するよりは、ビュー使ってスクロール
させた方が良いんじゃないだろうか。座標系がちょっと面倒だけど。
259名前は開発中のものです。:2006/05/29(月) 19:54:34 ID:2XB3jJt1
>>250
移動する床は難しいんですね(´・ω・`)
今の感じじゃなんとなく微妙な物になってしまいそうなので
ゲームの目的を変えてもっと主人公の特徴を掴んだものにしようと思っています。
歩行者を避けて標的の建物に向かって特攻するとかw
260名前は開発中のものです。:2006/06/03(土) 15:39:31 ID:eO/uDXYO
坂ってのは作れないんでしょうかね?
261名前は開発中のものです。:2006/06/03(土) 21:19:02 ID:qiE6o5n7
>>256
ボス倒せるようにしたEXEファイルもうpして下され(´・ω・`)
262名前は開発中のものです。:2006/06/06(火) 04:47:17 ID:webE4vRF
>256
今さらながら落としてみたら面白かった。
下手くそな自分には難しかったけど。
弾早すぎて回避できん。

絵がシンプルなデザインで鼻につかず、
効果音が気持ちいい。
ボスの攻撃パターンとかかっちょいい。
続きがあったらプレイしたいと思える作品だった。
263名前は開発中のものです。:2006/06/07(水) 21:16:11 ID:NTwFPCn2
>>34ですがゲームファイルこわれてしまいました
ボス完成してたのに・・・
んで途中までのバックアップファイルがあるので自分が気になってたところの
修正も兼ねてそこから作りなおしていこうと思います。
で、ボス完成した直後に作ったボスonlyの実行ファイルがあったのでみんなテストしてみてくれない?
意見聞いて参考にしたいので・・・

ttp://gamdev.org/up/img/6029.zip

高次面のボスを想定してつくってるので難易度は高めです。
3.9mほどあるので重いですがお願いします。

操作はreadmeを参照願います。
264名前は開発中のものです。:2006/06/07(水) 21:50:29 ID:35Eoy4Tn
>263
10回ぐらいプレイしたけどクリアできんかったw
下手くそなので真ん中の機銃から逃げてると、バラマキに当たって死んじまう。

気になったのはバラマキの出る量がかなりランダムっぽいところ。
余裕で回避できて良い線までいけるときと、
密集率が高すぎて何もできずに死ぬときの差が激しい気がした。

あと最初のアイテム出すカプセル?が硬すぎな気がする。
壊してる間に攻撃されてイヤだった。

自機の弾の量が多くて敵の弾が見難いってのもあるかな。

感想をまとめると、普通のシューティングって感じがする。
欠点もそのまま普通のシューティングを受け継いでると思う。
もっとオリジナルな要素が欲しいなあ。
265名無しさん@お腹いっぱい:2006/06/11(日) 11:54:12 ID:xKZPVPlz
ゲーム作るのも難しいですねw

266名無しさん@お腹いっぱい:2006/06/11(日) 11:55:08 ID:xKZPVPlz
www/のパターン

267名前は開発中のものです。:2006/06/11(日) 19:44:44 ID:OtKhRJ0Q
>>263の、自機が勝手に左上に進むのは俺だけ?
268名前は開発中のものです。:2006/06/11(日) 20:08:31 ID:5xEu+B7T
GameMakerってロックマン風のゲームとかは作れないんですか?
好きなステージから始められるとか、倒したボスの特殊武器が使えるとか
269名前は開発中のものです。:2006/06/11(日) 20:26:31 ID:AnABClM3
作れますよ
270名前は開発中のものです。:2006/06/11(日) 21:25:29 ID:89W/xJ3D
>>267
パッド差してやってる? >>185と同じ現象かもしれんね。
271263:2006/06/12(月) 11:52:45 ID:bCUsYhdY
 前スレでゲームファイル壊れたと思って反射的に書き込みしてしまったのですが
自分、GameMakerが標準でバックアップしてるの知らなくて同じフォルダーに生成される
同名の.gb1ファイルを.gm6にリネームしたら復旧しました。お騒がせしてすみませんでした。
>>267
>>270氏の言っているレス辺りを参考に対策します。報告ありがとうございました。
>>264
 バラマキと言われている回転砲座についてですが、現状ランダム要素は含めておりません。
弾の密集率も狙ってやっている部分なので・・・攻撃パターンを間引いて量を抑制する事も考えていますが
初めて作ったボスなのでどこまでできるか試してるのもあるので当面は現状のままでいこうかと思っています。
 アイテムキャリアーの硬さはこんなもんだと思っています。この面はキャラクターを作成してうまく動いてるかの
確認とパラメーター調整の為に作ってある面(gamemakerでいうroom)で本番面は別にあり、とりあえずパワーアップを
最大にまで持っていく事ができるようわざとキャリアーをたくさんだしてます。自機の弾の量は自分も引っかかっていた部分なので制限かけてみようと思います。
色々意見聞かせてもらって感謝です。>>264氏 とりあえず>>267氏の件が致命的なのでそちらから対処したいと思います。

272267:2006/06/12(月) 16:14:37 ID:SWv1aUtr
パッドはUSBのPSコントローラ変換器挿してます
273263:2006/06/12(月) 22:07:47 ID:bCUsYhdY
とりあえずゲームパットの不具合修正してみました。
これでいけるか確認してください。
ttp://gamdev.org/up/img/6130.zip
実行ファイルじゃなくて.gm6ですが・・・・
例によって操作はreadme参照のこと
ボタンの使い方とか操作性とかが結構気になってます。
連れに言わせるとショットセレクトがわかりにくいんじゃない?って言われたし
コンフィグ作ってパターン選べるようにするとかがいいのかな・・・・
274名前は開発中のものです。:2006/06/13(火) 23:48:48 ID:nj6Xbt0/
>>257,258
ビュー使うと仰るとおり座標の管理が面倒なので全部タイムライン制御に
してみた。正直自分でも見難いと思ってる。本末転倒ここに極まれり。

>>261,262
ボスの先まで頑張って見る。
グラはあれだ。絵が書けないからアブストラクト系にしてみたんだ。
微妙にABAの人にも影響受けてる。テトリス成分も含まれてる。
275名前は開発中のものです。:2006/06/16(金) 18:27:20 ID:3Wjv2RFp
>>274
ゲームデザインは悪くない、どころか好印象なんだが、ゲームスピードが
ぶっ飛んでるのは漏れだけかい?
あと敵弾イベントで自機とのコリジョンの所のエフェクトアクションも消さんと
未レジスト版じゃ動かんよ。
276名前は開発中のものです。:2006/06/16(金) 18:38:19 ID:AVnmn6qh
>275
実際に配布するときはexe形式なんだから良いんでね?
本人じゃないから知らないけど。
277名前は開発中のものです。:2006/07/11(火) 00:43:14 ID:rLmRm4e2
保守る必要あり?
278名前は開発中のものです。:2006/07/14(金) 21:23:06 ID:xnbmdkWr
アリだな
279名前は開発中のものです。:2006/07/14(金) 21:24:02 ID:i3ho6+y9
/  ^??^? )
280名前は開発中のものです。:2006/07/18(火) 21:18:39 ID:3ID5eODs
ゲームメーカー6で日本語テキスト出力やってみたんだけど
文字サイズが16ではなんともないのに18とか20だと所々文字化けする。
同じ症状の人いる?
281よこしまなMr.0:2006/07/19(水) 01:21:33 ID:MFf1CsCB
>>273
拙作スクリプトがお役に立っているようで何よりです(_ _)

>>280
それはmbText(ttp://gamemaker.main.jp/modules/articles/article.php?id=23)を使ったときに起こる症状でしょうか?
もしそうであれば、症状を示す短い.gm6ファイルをupして頂ければこちらで調べてみます。
282280:2006/07/19(水) 21:01:18 ID:v4S9wPeC
>>281
はい。mbTextを使用しての症状です。
とりあえず18pxと20pxのテキストを仕込んだファイルを用意しました。

http://briefcase.yahoo.co.jp/bc/yakihamaguri00/lst?.dir=/%a5%de%a5%a4%a5%c9%a5%ad%a5%e5%a5%e1%a5%f3%a5%c8

やはり所々文字化けしてしまうようです。他のサイズでは問題なかったのですが…
わざわざスミマセン。よろしくお願いします。
283よこしまなMr.0:2006/07/19(水) 22:18:55 ID:MFf1CsCB
>>282
upありがとうございます!
見た限りではspr_han20がおかしい事だけしか分かりませんでした(他におかしい箇所があれば教えてください…)

「jFont Maker 2.0.0において、アンチエイリアス無効の状態でサイズ20pxの半角文字スプライトを生成すると、文字が1pxほど左にずれてしまう」
という極めて謎なバグを発見しましたので、次のバージョンアップの時に修正しておきます。
jFont Maker1(ttp://gamemaker.main.jp/dlfiles/jfontmaker1.zip)では幸いにもこのバグは発生しないようです。
284280:2006/07/19(水) 22:42:58 ID:v4S9wPeC
>>283
こちらこそ調べていただいてありがとうございました!
不具合などは18〜20の文字化け以外は特にないと思います。
とても便利なツールとスクリプトなのでこれからもありがたく使っていきたいと思います。
バージョンアップ楽しみにしてます!
285よこしまなMr.0:2006/07/23(日) 22:32:40 ID:HKzhttqp
mbText Scripts 1.4.0 + jFont Maker 2.1.0をリリースしました。
ttp://gamemaker.main.jp/modules/news/article.php?storyid=40

全角文字スプライトのサブイメージ4,5(「・」しか無かった部分)を削除したのでメモリ節約が期待されます。
283に書いた謎のバグも修正しておきました。
286名前は開発中のものです。:2006/07/28(金) 22:37:10 ID:kEU2Tspd
よくあるアクションゲームのサンプル見るとさ、ブロックとの衝突判定しょぼくね?
左右に移動しながら天井や地面に接触すると微妙にずれやがんの。フォーラムで威張ってる奴も大した事ないし。
これがGMの限界?
綺麗に衝突判定できてる人教えてくれよ。
287よこしまなMr.0:2006/07/29(土) 00:06:47 ID:rsZSRXSS
>>286
GMにおけるCollision Event(HelpのCollision eventsの項に詳細が載っています)はあくまでも「衝突判定の一例」であり、当然ながら全てのアクションゲームに適用できるとは限りません。
この点でCollision Eventには限界があると言えます。

商用ゲームレベルの綺麗な衝突判定を行うには、時として、GMLを用いて"Collision Detectionロジックを自前で実装する"必要が生じてきます。
ここらへんは、スプライトの形状や各インスタンスの動きを綿密に分析してアルゴリズムを練っていくしかないでしょう。
(すなわちGMの限界は「GMLコードの処理速度の限界」と似たようなものです)
288名前は開発中のものです。:2006/07/29(土) 00:36:56 ID:A+n8FAHn
本家にある、ソニックっぽいゲームぐらい出来れば十二分だと思うけれど・・・。
289名前は開発中のものです。:2006/07/29(土) 17:02:01 ID:v2ZszvnO
ソニックは他より綺麗にできてるね
でもスタンドアロンじゃん
あれくらいのもののソースを公開しなくてどうすんだ
290名前は開発中のものです。:2006/07/30(日) 11:19:24 ID:I4TMncqW
それがGMクオリティ!
291名前は開発中のものです。:2006/08/12(土) 02:42:23 ID:DEKCS0ZY
バージョンアップしねえな・・・。
292名前は開発中のものです。:2006/08/12(土) 16:23:30 ID:ajfN3bzo
"The Game Maker's Apprentice"の和訳本出ないかな
293よこしまなMr.0:2006/08/12(土) 23:32:19 ID:SdZVSzGd
ずらし補正機能を追加したjFont Maker 2.2.0をリリースしました。
ttp://gamemaker.main.jp/modules/news/article.php?storyid=41
294名前は開発中のものです。:2006/08/27(日) 23:58:55 ID:QjVczOj7
age
295名前は開発中のものです。:2006/09/27(水) 14:06:01 ID:LH7ViQeL
保守しとく
296名前は開発中のものです。:2006/09/27(水) 20:10:07 ID:vehM9Gbl
保守乙
297名前は開発中のものです。:2006/09/29(金) 23:07:30 ID:4sshqHDy
次のバージョンは7.0になるみたいだね。10月末にβ出す予定とのこと。
拡張パッケージ(今のDLLの仕組みを進化させたものっぽい)が今回の目玉か。
298名前は開発中のものです。:2006/10/04(水) 19:34:25 ID:VR+YDMNk
今週の日曜日あたりからはじめたけど、
だんだんコツが飲み込めてきた…気がする。
いや、おもしろいなぁこれ。まったくの素人な自分で
この板にきたのも日曜あたりからなんだけど
それなりにゲームっぽく形ができてくると楽しい。

まだまだ基本的なこともわからんけど
非公式サイトやサンプルゲームのイベント内容確認したりして
もうちょっとランクアップしたい。


299名前は開発中のものです。:2006/10/09(月) 15:46:39 ID:hpHxwreD
ttp://gamdev.org/up/img/7785.zip
アクションゲーム作ってみたyo
Z,Xで攻撃。カーソルキーで移動とジャンプ
壺を全部集めればステージクリア
300名前は開発中のものです。:2006/10/10(火) 00:48:45 ID:v0lPsc3U
むぅ…もしかしたらすごいつまんない事かもしれないですが。
とりあえず単純な動作だけでも出来るように動かしてみようと
試みてみたのですが。
生成で重力を設定して、コリジョンで床のオブジェクトに反射させてると
徐々に反射が大きくなっていって、最終的にすごい勢いでピョンピョン
飛び跳ねてしまう…。
せめて同じ高さでピョンピョンさせられないのでしょうか?
重力のRelativeにチェックいれるとdirectionを270にセットしてあるのに
左後方にすっとんでいくのも謎なのです。

出来れば重力のある中でジャンプして、着地と同時にピタっと止まってほしいのですが。
コリジョンで床のオブジェ接触で速度0になるように設定すると、床を歩く事が出来なくなり・・。

それで跳ねながらでも移動できればいいかと、前述のように床に反射させてみてたのですが。
しばらくほっといたらキャラが天井と床のオブジェをすごい勢いで往復してたんで
なんとかそれを回避したいのです。
なにか手がないかと、いろいろ試してたんですが。どうにもよくわからず・・。





301名前は開発中のものです。:2006/10/10(火) 23:37:22 ID:xA3KYXnh
>>299
投稿乙。 ほのぼのした雰囲気がイイ!

>>300
レスしようとちまちま文章にしてたんだが、サンプルを5.3Aで作ってうpってみた。
ttp://gamdev.org/up/img/7797.zip
Game Information でそれぞれの疑問に答えてみたつもりなんで、読んでみて。文才無いけど...orz

/*
チラシの裏
内部処理(GameMaker的な癖)について曖昧のままにやっていくと、 >>300 にあるような壁にぶち当たる人は多いと思う。
ヘルプを熟読し、試行錯誤しながら理解していくと、いずれ解決できることなのだが・・・。
プログラム未経験な人でも理解できるようなドキュメントにまとめられたらいいのだけど・・・。
*/
302名前は開発中のものです。:2006/10/11(水) 13:30:49 ID:jFFQ4JQb
>>300
そういう前向きな姿勢でやってれば良いゲームが作れると思う。

プラットフォームものなら、ひとまず
ttp://www.gamemaker.nl/tutorial.html
Tutorial: Platform Games (zip file, 1.6 MB)
が参考になると思う。
solidオブジェクトについて知っておくといいと思うよ。
303300:2006/10/12(木) 07:16:45 ID:RaSOVi3Q
>>301>>302
レスありがとうございます。
いえいえわかりやすくて助かりました。

>>302
レスありがとうございます。
英語はしょうしょう苦手なのですが、
なんとか読み込んでみたいと思います。


本当にありがとうございました。

304名前は開発中のものです。:2006/10/27(金) 12:44:17 ID:TdF2ByKO
ho
305名前は開発中のものです。:2006/10/29(日) 16:51:46 ID:wmAHTxrU
接触判定その他の練習のために、
素材を適当に集めて作ってみた。
ttp://gamdev.org/up/img/7967.zip

ひょっとしたら綺麗に衝突判定ができないで悩んでる人の
参考になるかもしれないのでアップ。
306名前は開発中のものです。:2006/11/01(水) 02:18:47 ID:zw8Gds4q
>>305
たまーに、壁に引っかかったりするのだがどうしてだろう?
スクリプト見てもどこが間違ってるかわからないよ…。
307305:2006/11/02(木) 19:31:20 ID:AFNzuMaj
確かにたまーに引っかかる。
原因は現在調査中……
308名前は開発中のものです。:2006/11/07(火) 00:37:41 ID:B1V1c0H3
305ではないが、調べてみた。原因がわかった気がする・・・。
solid オブジェクトとの衝突イベンでは、衝突判定→ENDステップ との間で speed に値があると移動してしまう性質があるので、うまくいっていない。

>>305 のサンプルで説明。
斜めに並んでいる白いブロックの接続付近に向かって、下から左上にジャンプするとまれに引っかかる。
まず、右上のブロック(ID:100177)にぶつかる。
solid オブジェクトの衝突の性質により、100177との衝突イベントのあとに、3ドット(hspeedの大きさ)だけ左にずれる。
ここで、衝突したポイントが、左の壁 (ID:100176) まで3ドット以内の位置にいると、めり込んでしまう。
これは、左の壁のID番号が100177より若いので、そのステップ中での衝突判定がすでに終わってしまってるため。
(もし左の壁がのID番号が100177より大きいなら、同ステップで衝突判定が発生するので、このタイミングでの「めり込み」は発生しない)

ヘルプを読み返してみたが、これは仕様らしい。
個人的に、衝突直前まで戻すのは良いが、衝突のあとに移動してしまう仕様は余計なお世話感があるなぁ。
>>305のサンプルを修正するには、この仕様を頭に入れてコードを書き直さないといけないかも。

知らない人がいるかもしれないから、solid オブジェクトの衝突イベントについてのまとめを改めて。
【衝突発生】
 ↓
(衝突したインスタンスは、xprevious yprevious まで戻される)
 ↓
【衝突イベントで設定した処理】
 ↓
(hspeed vspeed gravity 等が設定されていたら、移動する)
 ↓
【End Stepイベントへ】
※()内は自動で処理される。 solid 属性でないもの同士の衝突イベントならば、処理されない。

わかりづらかったらゴメン。
309305:2006/11/08(水) 23:34:02 ID:3AkviUgR
308を読んで原因が理解できたので、いろいろと修正中……
310名前は開発中のものです。:2006/11/11(土) 21:20:49 ID:/XxSsTqq
7.0ベータは、12月上旬だそうです・・・
ttp://forums.gamemaker.nl/index.php?showtopic=254087

>There has been some delay in the beta of 7.0. Please be a bit more patient. It is now planned at the beginning of December.
>
>Mark
311305:2006/11/12(日) 14:29:04 ID:5m8X/aYf
問題の部分は原因がわかれば簡単に修正できた。
他にもいくつかバグを修正して、自機の衝突判定に関してはほぼ完璧になったと思うが、
今度は新しく追加した敵キャラの衝突判定がおかしい。
まだまだ修正中……
312305:2006/11/19(日) 10:30:59 ID:xsNjHa5e
なかなか修正する時間が取れない。とりあえず衝突判定後の移動で
めりこんでしまう問題については、以下の方法で解決できる(それと、
305のサンプルではplace_freeを使うべきところでplace_emptyを
使っていたので、これも修正した。)

・Collisionイベントの最後に以下を追加

//この時点でのx座標とy座標を保存しておく
xendofcollision = x;
yendofcollision = y;
//このステップで衝突処理が行われたことをEnd Stepイベントに伝えるため、変数に保存
collisiondetection = 1

・End Stepイベントに以下を追加

/衝突判定後に自機の位置が動いてしまうとめりこみの原因になることがある
//もしめりこんでいた場合はここで位置を修正する
if collisiondetection == 1
{
if !place_free(x,y)
{
if x != xendofcollision {x = xendofcollision}
if y != xendofcollision {y = yendofcollision}
}
collisiondetection = 0
}
313名前は開発中のものです。:2006/11/19(日) 19:23:31 ID:4aSaboiB
これが後のアクションゲーム界の野口英世、305氏の誕生した瞬間であった。
314305:2006/11/20(月) 01:07:49 ID:Yv733+da
追記。
305のサンプルではブロックの角にぶつかったときに引っかかることがあるので、
それを回避するためにこんな感じのコードも追加する必要があった。

//上下左右ともにソリッドオブジェクトがない場合
//位置を1ドット下に下げて対処する
if place_free(x-1,y) && place_free(x+1,y) && place_free(x,y-1) && place_free(x,y+1)
{
y = y+1
}
315名前は開発中のものです。:2006/11/22(水) 23:47:27 ID:AqauRrpm
age
316sage:2006/12/03(日) 16:48:14 ID:XbMBK5U7
つくりました。

ttp://gamdev.org/up/img/8268.zip
317名前は開発中のものです。:2006/12/11(月) 00:56:17 ID:2YqPVj+F
おまいら、7.0betaが出ましたよ。
ttp://www.gamemaker.nl/beta.html
318名前は開発中のものです。:2006/12/11(月) 01:26:44 ID:rVHL5eUM
6.0未レジストだと使えんのか?
319名前は開発中のものです。:2006/12/14(木) 18:11:41 ID:3ze7c5Y/
GMにファイアワークス並みのドット絵アニメ作成機能つけてくれんかな…
320名前は開発中のものです。:2006/12/15(金) 00:15:35 ID:g70yBL8e
/^o^\フッジサーワ
http://x25.peps.jp/azurenamoon
321名前は開発中のものです。:2006/12/15(金) 19:54:34 ID:srVsEadR
トランジション最中にゲームの動作が止まってしまうのが気になってたんだが
その辺仕様変更されてたらいいなあ。
しかしローカライズ対応の話はどうなったのか
322名前は開発中のものです。:2006/12/24(日) 15:12:53 ID:bQ2c8Tdg
流れが止まってるなあ
来年の3月くらいに時間ができたらやってみたいので、それまでこのスレも維持して欲しい
323名前は開発中のものです。:2006/12/25(月) 04:07:44 ID:FxLQNiq4
ライトが当たってる部分だけ明るくする
炎の揺らめきに対応して、明暗がゆらぐ
みたいなことってできます?
324名前は開発中のものです。:2007/01/12(金) 10:20:39 ID:cJrH5j+P
それはペイントソフトのお仕事では
325名前は開発中のものです。:2007/01/12(金) 23:25:08 ID:vx0dk6p9
それをスクリプトでやるから楽しいんじゃないか
326名前は開発中のものです。:2007/01/13(土) 23:42:46 ID:zhxk+3Mu
>>324
>>325
スクリプトでできるんですか?
ちょっと調べてみます。
327名前は開発中のものです。:2007/01/22(月) 18:53:32 ID:EB7waUUP
結構前からGMやってたんだけど
ちっとしたミスでパソコン壊れてしまい、最近新しいのを購入
んで、またやったんだだけど↓の人が作ったファイルが欲しいんだけど誰かうpしてくれない?
>>203 :名前は開発中のものです。:2006/03/27(月) 13:28:28 ID:Ft51kzDw
メインメニューも日本語化パッチ。
ttp://www.uploda.org/uporg347869.zip.html

ここのサイトにはもう無いんだよね・・・・orz
328名前は開発中のものです。:2007/02/09(金) 13:15:57 ID:xPE4FRpU
久々にGN開いて、昔作ったのゲーム起動させたら、
オブジェクト全てに、碁盤の目状にドットのノイズが入っててまいった。

作成画面ではなんとも無いんだが、なんでだろ。
329名前は開発中のものです。:2007/02/09(金) 13:16:41 ID:xPE4FRpU
↑ 誤植あったスマソ GN → GM
330名前は開発中のものです。:2007/03/01(木) 23:52:49 ID:iybAqXqe
なんか7.0でてるっぽいのに落とせない
331名前は開発中のものです。:2007/03/02(金) 00:18:40 ID:JQOq8rLF
gamemaker の版権が yoyogames(イギリスの会社) に移ったのか、Mark氏と提携したのか分からんが、
ttp://www.yoyogames.com/gamemaker/try のページから落とせる。
落とせるのはLite版で、今までのフリー版と同じような制限があるが、基本的なことはできる。
レジストするとPro版となり、制限がなくなる。
Pro版にするには、yoyogamesにアカウント登録した後にレジストしなければならないかも。(無料 メアド必須)
332よこしま:2007/03/03(土) 02:47:45 ID:iuprHR9E
GM7.0の記事を掲載しておきました。
ttp://gamemaker.main.jp/modules/news/article.php?storyid=44
333名前は開発中のものです。:2007/03/19(月) 17:26:46 ID:w6fEQ5hD
GM7落とせないじゃん・・・orz
334名前は開発中のものです。:2007/03/19(月) 18:36:11 ID:E6kumfZN
ttp://amagame.blog12.fc2.com/blog-entry-2136.html
アマゲニュースの記事によると、IEだと落とせないことがあるらしい。
記事に書いてあるように IE以外のブラウザでアクセスするとか、
DLツール(Irvine等)で落としてみるとか。
俺は普通にIEで落とせたが…。
335名前は開発中のものです。:2007/03/25(日) 04:04:56 ID:iOL2FYog
GM7になった変更点とか追加点の一覧ってあるかな?
探したけど見当たらない。
336名前は開発中のものです。:2007/03/25(日) 22:44:43 ID:77zIjAoT
7.0のヘルプだけ落とせるから(docかPDFになったやつ)
そこのWhat is New読んでみるのはどうかな。
訳してみようと思ったけどけっこう分量あってマンドクセ
337名前は開発中のものです。:2007/03/26(月) 07:40:10 ID:dN/9PbMi
情報サンクス。
公式の方で落とせるのね。ダウンロードできるほうだと思ってた。

読んでみたところ、ルーム関係とスクリプトエディタに改良入ってるっぽいかな?
だいぶ変更箇所が多くて、たしかに訳すの大変だ・・・。
マルチバイト対応は書いてないな。もう英語圏だけで通す気なんだろうか。

GM6でつくりかけのゲームがあるのでインポートして、色々弄ってみるかな。
GMはマルチバイト対応と、エディタが改良されれば、あんまり文句ないんだがなあ。
338名前は開発中のものです。:2007/03/31(土) 15:42:57 ID:XDDgdQbO
ちょっと質問失礼します
ゲームをexeファイルに変えるとき、アイコンをオプションで変えれるじゃん?
でもアイコンファイルなんてどうやって作ればいいんでしょうか
32×32の16色ってのはわかってるんだけどファイルの保存形式がGIFとかだと選べないし
339名前は開発中のものです。:2007/03/31(土) 16:15:17 ID:XDDgdQbO
事故解決しました
でも32×32でicoファイルを作っても拒否されてしまいます><
340名前は開発中のものです。:2007/04/01(日) 04:13:44 ID:kj+KzHd4
ちゃんとICOの作れるエディタで作った?
GIFとかPNGで作って拡張子だけ変えただけとかじゃない?
341339:2007/04/01(日) 10:33:34 ID:qXJBkzh+
>340
レスありがとうございます!
MSペイントでBMPで作って拡張子変更しただけでした・・・
ビットの深さが24のやつではダメなんでしょうか
ICOの作れるエディタっていうとフリーウェアでいいのないでしょうか
とりあえずググってみます。お騒がせして吸いません
342339:2007/04/01(日) 10:49:32 ID:qXJBkzh+
解決しました
@icon変換っていうフリーウェア使ったらアッサリできました
マジでお騒がせしました。助言ありがとうございます
343名前は開発中のものです。:2007/04/02(月) 22:37:55 ID:dsa0udjW
ライフを表示させるにはどうしたらいいんだろう…
344名前は開発中のものです。:2007/04/04(水) 01:14:23 ID:UsQJSuDV
>>343
GameMakerには標準でlivesという変数が組み込まれていてゲーム開始時
に初期値投入し、プレーヤーキャラがやられた時に-1する・・・
まぁ普通こうだと思う。
んで表示は表示用オブジェクトを別途作成し、drawイベントに
数字で表示する場合は「Draw the number of lives」アクションを
スプライトで表示する場合は「Draw the lives as image」アクションを登録する。
パラメータx,yはルームの表示座標を。
「Draw the number of lives」の場合はこのアクションより先に
「Set the font」「Set the color」アクションを登録しておいて好みの
フォント、色を指定しておく
(表示座標は「Set the font」のalignパラメーターを考慮して決めてね)
「Draw the lives as image」の場合はそれ用のスプライトを
事前に登録しておいてimage:パラメータで選ぶ。
とほかにもやり方あると思うけど、とりあえずこれでどう?
345名前は開発中のものです。:2007/04/05(木) 02:32:40 ID:dw1Iw1rR
>>344
助かりました、有難う御座います!
346名前は開発中のものです。:2007/04/06(金) 02:25:30 ID:NKcqTsok
2D横スクロールアクションを作っています。
敵の上に乗っても大丈夫で、下から触れると倒せる設定にしようと
踏ん張っているのですがなかなか成功しません。
「下から触れると倒せる」までは成功するのですが、
「上に乗っても大丈夫」という設定が出来ません。
上から触れても倒せてしまいます。
どうしたらいいのでしょうか!
347名前は開発中のものです。:2007/04/07(土) 01:13:30 ID:3wiqVeJY
>>346
上半分のキャラクタと下半分のキャラクタに分解して
二つで一つのキャラクタにすればいいのでは?
348名前は開発中のものです。:2007/04/08(日) 01:12:39 ID:KSHnjb9y
>>347
その発想はなかった…!!
ありがとうございます、その案の通りにやって、色々工夫したら
なんとかなりましたw
349名前は開発中のものです。:2007/04/10(火) 04:30:19 ID:twXWExLO
マリオがキノコを取るとスーパーマリオになる感じを意識して、
2キャラ作りChange the instanceで変える方法を取ってみたのですが
Viewが認識してくれません。
(マリオがスーパーマリオになると、マリオの時のViewだけが残って
 スーパーマリオのViewは認識されない感じ)

色々なサンプルを見て試行錯誤してるけどどうも上手く行きません。
うーむ、、、
350名前は開発中のものです。:2007/04/10(火) 10:39:56 ID:/nbw5AIi
Viewの認識をRoomのところだけで設定しているなら、次の方法が有効かと。
マリオからスーパーマリオにチェンジするときに、
code execute アクションで、次のようなコードを記述してみる。

    view_object[0] = スーパーマリオのオブジェクト名もしくはインスタンスID

逆にスーパーマリオからマリオに戻ってしまうときにも、
view_object[0] の値をマリオに戻しておこう。
351名前は開発中のものです。:2007/04/10(火) 12:26:59 ID:rYQU3bdo
GameMakerJapanのページが開かないんだけど、おいらだけ?
352名前は開発中のものです。:2007/04/10(火) 15:07:52 ID:twXWExLO
>>350
おー、できました。有難う御座います。
GMLとか全然わからなくて…

>>351
俺漏れも
353名前は開発中のものです。:2007/04/11(水) 17:27:54 ID:uDjOT380
いまからこれやり始めようと思ってるけど
tonyuとどっちが簡単?
354名前は開発中のものです。:2007/04/11(水) 23:27:11 ID:XaHk6A2z
>>351
みえた
355名前は開発中のものです。:2007/04/12(木) 00:54:45 ID:QrBMbbB1
>>352>>354
見れるようになってますね。お騒がせしました
>>352
GML最初のうちは短いコードで慣れていくのもいいし
書かなくともヘルプファイル見るだけでも結構動きの
構想とかしやすくなると思うのでヘルプは目を通して
おいたほうがいいよ
Game Maker 言語 (GML)のゲーム動作〜リソースの
項目は読んでおいたほうが得です。ボリュームもそんなに多くないし
356名前は開発中のものです。:2007/04/12(木) 22:27:46 ID:Sbn3uWuO
>353
両方触ったことあるけど、
tonyuの方が使いにくかったかな。
変数の設定とかがややこしかった、

あとtonyuはけっこう重いので、凝ったゲーム作り出すとキツイ。
まぁGameMakerも50歩、100歩だけど。

英語で拒否反応でないならGameMaker、
でるならtonyuで良いんじゃないかな。
357名前は開発中のものです。:2007/04/12(木) 23:18:34 ID:mKQY5DpX
ライフ表示させても-1になっちゃうんだけど、
ライフポイントの設定ってどこでやるんだ?
358名前は開発中のものです。:2007/04/13(金) 03:41:08 ID:NNey5tvn
>>357
>>343がらみ?だとすると
livesは変数だからゲームループ用オブジェの生成イベントなどに
「Set the value of a variable」アクションで代入するか
一番最初のルームの「Creation code」ボタン押して
lives=10;
とか書いてみたら?
359名前は開発中のものです。:2007/04/14(土) 21:57:31 ID:jjaaUazu
>>358
うーん、前者はうまくいかないし後者は死んだりしても
ライフポイントが10のままになるなぁ。

とりあえず変な方法で自己解決しますた
360名前は開発中のものです。:2007/04/29(日) 00:32:56 ID:HfNWiMIn
アクションゲームでよくある、
敵にぶつかったら少しの間無敵ってのをやろうとしてるんだけど、
何故かその状態になったら地面にめりこんでいってしまう・・・
何故なんでしょうか?
361名前は開発中のものです。:2007/04/29(日) 00:35:42 ID:HaLkae7w
地面との当たり判定が消えてるからだと思うよ
362名前は開発中のものです。:2007/04/30(月) 15:28:50 ID:A4GmDhZw
スプライトを透明にした瞬間に、当たり判定がなくなってしまっているからかと思われる。
Maskを別に設定(オブジェクトのダイアログで設定できる)しておけば、
スプライトを透明にしても当たり判定がなくなることはない。
363名前は開発中のものです。:2007/04/30(月) 17:44:34 ID:lkMf0FqM
6と7ってどう違うの?使うスクリプト同じ?
364名前は開発中のものです。:2007/05/01(火) 01:19:29 ID:jv2UXUrh
>>363
5→6の時と違ってほぼ完全上位互換。6で作ったゲームもそのまんま動く。
その分見た目的には大きな進化はなくて、ダイアログ関係とか印刷とか
地味なところが強化されているってのが今のところの印象だな。
365名前は開発中のものです。:2007/05/03(木) 04:06:18 ID:RLRXPrc7
>>349ですが、前のステージでのキャラクターの状態によって、
次のステージでマリオ・スーパーマリオどちらかの状態で
始まるようにするにはどうしたらいいでしょうか?

同じステージを2つ作って、(最初の立ち位置が)マリオ用・スーパーマリオ用
に分けるとか考えてみたのですが、その分重くなりそうで…。
366名前は開発中のものです。:2007/05/03(木) 12:37:46 ID:fBZoJtsj
つ [オブジェクトのpersistentにチェック]

これをすれば、ルーム間でインスタンスが保持されるようになるよ。
そういうオブジェクトを1つ作っておくと、ルーム間での値のやり取りができるから便利。
367名前は開発中のものです。:2007/05/03(木) 12:49:48 ID:fBZoJtsj
あ、値のやり取りだけなら、別にグローバル変数でもいいのか。失礼。
368名前は開発中のものです。:2007/05/14(月) 16:47:04 ID:wDJv4xoP
GM6ってもう今はDLできない?
369名前は開発中のものです。:2007/05/14(月) 22:52:19 ID:6E+INFL2
370名前は開発中のものです。:2007/06/13(水) 20:10:00 ID:obp421sd
ツクールに不満を感じた俺
とりあえず今からDLだぜ
371名前は開発中のものです。:2007/07/12(木) 07:50:07 ID:qy2/B/jA
今月始めぐらいからチュートリアルにらみながらゲーム作ってる
が、Game Maker Japanの表示が妙に重くて、ページを切り替えるたびにやきもきしてる
現在8時前だけど状態は変わらず・・・うーむ。
372名前は開発中のものです。:2007/07/13(金) 00:29:18 ID:OaGbqBn6
気合で乗り切る
373名前は開発中のものです。:2007/07/18(水) 06:22:52 ID:UXcd6qfL
ロックマンを見習いつつ横スクロールアクションを作ってみてるんだけど
画面左上に常にライフゲージを表示しようとしてるものの、キャラが
横に移動して画面がスクロールするとゲージが置いてけぼりになってしまう
どうにかうまいこと常に画面左上に表示ってできないかな?
374名前は開発中のものです。:2007/07/19(木) 01:44:05 ID:tSFqaNoK
>>373
座標をビュー相対で指定してやればいい
x1: view_xview[0] + 10
y1: view_yview[0] + 20
x2: view_xview[0] + 110
y2: view_yview[0] + 30
ってな感じで。
375名前は開発中のものです。:2007/07/19(木) 09:09:31 ID:nvp/X0pz
>>374
返答有難う!ちゃんとスレ見てくれてる人がいたのがまず嬉しい。
で、教えてもらった方法で記述してテストしてみたら、エラーがでてしまった
翻訳ページで翻訳してみたら、変数を定義していない?みたいな感じだった
おそらくview関連の変数を指定する場合準備が必要なのかもしれない・・・
が俺は変数関連の知識に乏しいので断念した。

他の方法を探してみたら、wikiの作品まとめのページにあった
「ふぁんたじぃさんミニステージ」で俺のやりたかったことをやってくれてたので
拝借して構成を覗いてみた。そうしたらルームのビューを二つ指定するという
至極簡単な方法で解決していたので驚いた。今それを真似て成功したところ。

>>374のアドバイスを参考に出来なかったのは非常に申し訳ないが
今後もしばしば悩みどころが出てくると思うので、自力で解決できなかった時は
またアドバイスをお願いしたい。
ちなみにGMのバージョンは5.3Aでやってる。(これも最初に言わなかったのは申し訳ない)
376名前は開発中のものです。:2007/07/19(木) 20:07:07 ID:xOA1USa+
作成途中でもうpするとこのスレも盛り上がるよ
ソース公開したくなければ実効ファイルにしてうp
377名前は開発中のものです。:2007/07/19(木) 23:32:25 ID:tSFqaNoK
>>375
GM5だったらこうだな。
view_xview → view_left
view_yview → view_top
view_wview → view_width
view_hview → view_height
5と6以降ではけっこう違いがあるので
気をつけた方がいいかもね。
378名前は開発中のものです。:2007/07/22(日) 10:28:04 ID:WAhC1ZLe
GM7って、必要スペックが6よりも高いみたいだ。
最低ビデオメモリも32MB必要だし。
軽さを重視するなら5.3Aにするべきかな……。
379名前は開発中のものです。:2007/08/14(火) 00:03:24 ID:9wyA8dRN
最近GM5でロッ○マンを作っている者です。
ジョイパッド使用のゲームを作りたいのですが、ジョイスティックで
Key release みたいなイベントの使い方って出来ないのでしょうか。
良かったら教えて下さい。
380名前は開発中のものです。:2007/08/14(火) 00:26:20 ID:12cRFs0g
最近ゲーム作りを始めたのですが
中間地点を通った後以降の死亡判定後は中間地点から
始まるようにするにはどうすれば良いのでしょうか?
分かる方是非教えて下さい。
381sage:2007/08/16(木) 13:34:33 ID:lv13P6Ug
>>379
>>160>>161に同様の質問、返答があるのでそちらを
参考に組んでみてはいかがかと・・
382381:2007/08/16(木) 13:47:27 ID:lv13P6Ug
あう あげちまった・・・逝ってくる
383名前は開発中のものです。:2007/08/16(木) 14:43:31 ID:lv13P6Ug
>>380
その場復活じゃなくて、戻り復活ってやつですよね?
作りこみの仕方でやり方変わると思う。例えばシューティングの様な強制スクロールだと時間軸メインで
考えやすいのでタイムラインを使用する選択が思いつくし、
ロッ○マンのような任意スクロールだと時間軸じゃなくてルームの位置で判断させるんだと思うからスプライトを
非表示にしたオブジェクトをルームに配置し、自キャラと衝突判定させるやり方をするとか・・
自キャラのふるまいの仕様とかも関係してる場合もあるし、なんとも言えないんだけど
自分は前者のタイムラインを使った戻り復活やったことあるので一応書いてみます。
参考にならないかもですが・・・
384名前は開発中のものです。:2007/08/16(木) 15:30:09 ID:lv13P6Ug
>>383のつづき
当方gm6.2
1,自キャラオブジェクト(ここではmycharaとしておきます)に復活ポイントを保存する変数(ここでは例としてres_flとしておきます)を登録してやって初期値0を代入する
 (roomのCreationCodeに mychara.res_fl=0と入力)
2,死亡判定処理の一番最後に「Restart the current room」アクションを置く
3,敵の出現するパターンを登録したタイムラインに復活ポイントの時間に相当するステップへres_flに1とか2とか任意の値を再代入する。
4,3のタイムラインの一番最初のステップへswitch文を使ってres_flにて分岐判断させ、timeline_positionを使って復活ポイントへ飛ばしてやる。


385名前は開発中のものです。:2007/08/16(木) 15:47:41 ID:lv13P6Ug
>>383のつづき2
4000,8000ステップに復活ポイントがある場合以下の様になる
switch(mychara.res_fl)
{
case 0:
break;
case 1:
self.timeline_position = 4000;
break;
case 2:
self.timeline_position = 8000;
break;
}
こんな感じで、初めてこのルームにきたときはres_flは0なのでcase 0:を通りbreakするのでタイムラインは今のステップのまま続行される。
4000ステップを超えた後に死亡判定が立てばカレントルームがリスタートするが4000ステップでres_flに1が代入されているのでcase 1:を通り
4000ステップまで一気にジャンプする8000ステップも同じ・・・と自分の場合こんな風にやってみました。参考になるかな^^?
386名前は開発中のものです。:2007/08/16(木) 17:02:09 ID:lv13P6Ug
>>383の補足
上の例は自キャラであるmychara死亡判定時、自キャラに対しdestroy the instance(インスタンス破棄)はせず
やられた用のスプライトを差し替えをしてライフを1つ減らしています。ですのでres_flは初期値にリセットされません。
またif文を用いて
ライフの数が0以上なら「Restart the current room」、
0未満になれば「Restart the game」する様、分岐させています。
387名前は開発中のものです。:2007/08/21(火) 03:17:21 ID:Y9/E+LWQ
>>381
返答ありがとうございました。もちろん読ませて頂いたんですけど
これだと十字キーではできないかんじですよね?スライディングが
したくて…><
388名前は開発中のものです。:2007/08/22(水) 22:29:28 ID:zLT3+18j
>>387
>>161のGMJリンク先はジョイスティックのボタンだったんだ。すまそ、
>>161のリンク先の書いてる内容が理解できてらっしゃるのなら
ボタンの状態を調べるjoystick_chech_button()関数代わりに
十字キーの状態を調べる関数joystick_xpos()またはjoystick_ypos()を使えばいいかと・・・
スライディングだからjoystick_xpos()だと思う。
この関数、十字キーで右に入力すると”1”を、左に入力すると”-1”を、横方向の入力がない場合は”0”を出力します。
それから>>182>>185>>187の書き込みにあるようにゲームパッドによっては中立位置”0”を厳密に返さないもの(0.0021とかになる)があるという
不具合もわかっているのでround()関数を使ってjoystick_xpos()関数を丸めてから使うといいです。
しかし老婆心ながらリリースするごっとにスライディングするのはどうかと・・・まぁそこらへんは考えてるとはおもうけどね・・・
389388:2007/08/22(水) 22:42:15 ID:zLT3+18j
× joystick_chech_button()関数代わりに
○ joystick_check_button()関数の代わりに
joystick_ypos()は別にいらんかったか・・・
誤字脱字多くてすみません
390388:2007/08/23(木) 00:12:24 ID:bkzzA+nn
>>387
過去に同じような内容の書き込みがあったなとあまりよく読んでなくて正直すまなかったです。
とりあえず自分が思うところは>>388のとおりです
391387:2007/08/23(木) 04:22:24 ID:KyDjC5ZC
>>390
ありがとうございました。正直こんなに親切に回答していただけるとは思っていなかったので…。
心から感謝します!さぁ、これでがんばるぞ!
392名前は開発中のものです。:2007/08/23(木) 18:15:25 ID:ARupBfNU
あまりプログラムについて関係ない話になって恐縮ですが・・・

wikiなどから他の方々の作品を参考にさせていただいているのですが、
皆さん画面サイズ小さめで作られているように見受けられました
自分は現在640x480のサイズでアクションゲームを作成しているのですが、
これだと環境次第で処理が重くなったりするのでしょうか・・・?
393名前は開発中のものです。:2007/09/08(土) 18:44:33 ID:4uM7iYSL
あうあうあうぁー・・・・
なんでジョイパッドにはpress/releaseが用意されてないんだろう・・
GMLで出来るのも知ってるし、やってるけど、
press/releaseイベントを用意しない理由が良くわからない。
394名前は開発中のものです。:2007/09/08(土) 19:07:46 ID:85eGhnYf
>>392
亀レスだけど現時代のロースペックPCならば
そのサイズでいいんじゃないかな
395名前は開発中のものです。:2007/09/09(日) 12:49:53 ID:UoCGhB6S
↑や→でその方向にキャラクターを動かせるのですが
斜めに動かしたいとき↑→同時押しに設定するのは可能ですか?
396名前は開発中のものです。:2007/09/09(日) 22:16:05 ID:/p7HxcHm
>>395
「可能ですか?」と聞かれたら答えは「可能です」だけど、
「具体的にどうすればいいの?」ってのならその2行じゃ答えにくいです。
「現状の段階でどのイベントでどのアクションを使って動かしてる」とか
「GMLは使えるよ〜」などの追加情報がほしいところ・・
でなければ作成途中ファイルをゲムデヴにうpするなりしてちょ・・・・
とかいいつつGMLが使えるなら、前スレ>>758に移動距離補正のGMLを
載せたサンプルファイルがあるから参考にしてみればいいと思うよ
(過去ログURLは>>50にあり)
397名前は開発中のものです。:2007/09/09(日) 22:31:05 ID:hOxeF4wt
移動のみに着目するなら難しいことを考えずに
「↑入力で上に移動」「→入力で右に移動」と設定すれば
同時に入力すると斜めに動くと思う
398396:2007/09/09(日) 23:25:01 ID:/p7HxcHm
>>397
自分も最初そういうふうに思ったんだけど
>>↑や→でその方向にキャラクターを動かせる
とあったのでPressイベントで書いてないのかも・・とか思ったんだ。
長ったらしかったかな?
399名前は開発中のものです。:2007/09/11(火) 19:05:04 ID:Gh8tZ+fJ
ver5とか6とか7とかみんな言ってるけど、
どれだけ違うのこれ、初心者は5?
英語読めれば初めてでもそれ以降で可?
400名前は開発中のものです。:2007/09/11(火) 22:21:20 ID:jdaCXeMV
まあ、レジストして使うつもりなら基本的には新しい方がいい

5を使うメリットとしては
・動作条件がゆるい→多くの人に遊んでもらえる(可能性がある)
・日本語化できる
・日本語をそのまま描画できる

一方、6以降だと最大の魅力はスプライトの回転ができること。
他にも半透明機能がふんだんに使える、組み込みのエフェクトなど
グラフィック面が大幅に強化されている。
ただし追加機能のほとんどはレジストが必要。
ちなみに6と7は、普通にゲーム作る分にはほとんど差はないかな

このへん天秤にかけて選ぶといいと思うのだが
5って今レジストできたっけ?
401名前は開発中のものです。:2007/09/12(水) 00:29:19 ID:fg25ornc
6を購入したときは、YOU!こいつは5も使えるKEYだぜHAHAHAって書いてあった。
402399:2007/09/12(水) 01:51:07 ID:r4gQgCh/
>>400
情報ありがとう。
それなら「とりあえず」将来性?もありそうな7を使うことにします。
ぐるぐる回るのは絶対使う気がしますしね。

>>401
よっぽど6の動作に自信がなかったんでしょうか。

初めてですが適当に作ってみました。
適当って言うか、投げやりです。ニコ動に上げてみた。
ttp://www.nicovideo.jp/watch/sm1041515

遊べるレベルでは、無い。
403名前は開発中のものです。:2007/09/12(水) 02:27:03 ID:wCm8h5Qq
>>402
是非とも本家を超える難易度で完成させてくれ。
404名前は開発中のものです。:2007/09/12(水) 10:07:21 ID:qUDFwcmG
Ver6は変数が6、7桁までの数値しか扱えないってのもネックじゃないかな。
日本語描画なんて絶対に必要だろうし、VRAMが32MBともなると、
動かないPCがかなり出てくるんじゃないかと。
405名前は開発中のものです。:2007/09/13(木) 07:32:54 ID:QTqHCpBm
強制横スクロールってのはどうやればいいんですかね
キャラが画面からはみ出ないように
406名前は開発中のものです。:2007/09/14(金) 23:09:41 ID:yqNW6zY+
>>405
オブジェクトにビューを追従させるかわりに自分で動かす。
たとえばキャラクタのStepイベントにこんな風に書いておく。

view_xview[0] += 2;

キャラクタがはみ出さないようにするのはこんな感じで。
(スプライトのサイズとか計算に入れて調整した方が
いいかもしれないけど)

x = min(max(x, view_xview[0]), view_xview[0] + view_wview[0]);
y = min(max(y, view_yview[0]), view_yview[0] + view_hview[0]);

GM5の場合は変数名が違うので、>377を参考に書き換えてくれ。
407名前は開発中のものです。:2007/09/16(日) 02:26:50 ID:Jr4lZJq+
出来ました。ありがとうございます

それとマップの最後のほうでボス等が現れたとき
画面のスクロールを止めたいのですがそれはどうすればいいのでしょうか。
408名前は開発中のものです。:2007/09/16(日) 22:57:11 ID:KiAjhsb3
予めボスのところに見えないオブジェクトを置いて、
それが画面内に入ったらビューのスクロールを止めるようにすればよいかと。
409名前は開発中のものです。:2007/09/17(月) 02:33:49 ID:w06cRgAN
ちょっと関係ない質問ですまないです
>>402氏の様な録画はどういった方法がお勧めですか?
できれば音付きで
410名前は開発中のものです。:2007/09/17(月) 08:21:42 ID:lhifefbO
ゲームの録画はfrapsを使うな。
無料のソフトもあるけど、それだとコマ落ちしてしまう。
411名前は開発中のものです。:2007/09/17(月) 09:15:55 ID:xMFEKfRa
使うなよと言っているのか俺はこれを使っているよと言っているのか
412名前は開発中のものです。:2007/09/17(月) 09:20:05 ID:fcLNcExh
WMEで十分
413名前は開発中のものです。:2007/09/17(月) 10:23:54 ID:JW6xQlOz
GameMakerって32x32のスプライトをだいたい何個くらいまで出しても処理落ちしませんか?
414名前は開発中のものです。:2007/09/18(火) 19:52:17 ID:3LUcBFIL
ttp://gamemaker.main.jp/modules/articles/article.php?id=19

これの部屋を広げて、ボールを敷き詰めてみたけど処理落ちしなかった。
でも、人によって環境違うから、自分で試してみた方がいいよ。
415名前は開発中のものです。:2007/09/18(火) 22:44:37 ID:cbpWAXQe
グラディウスのようにスピードを何段階かあげるようにしたいのですがどうすればいいのでしょう。
普段はキーを押したときjump to given positionでその方向に5程度動かしているのですが

特定のキーを押したら速度が1.5倍になって、もう一度押したら初期状態の2倍になって…という感じで
416名前は開発中のものです。:2007/09/18(火) 23:33:40 ID:N5uJH6ZI
変数を使えば良いと思うよ
jump to given position のところを 速度を表す変数 "spd" (名前は適当でよい) とかにして、
Key Press イベントで Set the value of a variable アクション( 四角でVARと書いてあるアイコン)を加えて、
variable のところに spd 、 value のところに spd+5 とかすると、押されるたびに速度が +5 されていくようになる
417名前は開発中のものです。:2007/09/19(水) 00:24:58 ID:K3MABk9U
>>415こんなのでどう?詳細はヘルプorマニュアル参照の事
@まず変数
 ・現状のスピードを覚えとく変数(説明のため仮にNow_speedとする)
 ・今が何段階なのかを覚えとく変数(仮にspeed_selectとする)
を用意する。これはCreateイベントにて[Set the value of variable]で初期値を代入すればおk
A[jump to given position]のx:y:の"5"といれているとこを"Now_speed"に書き換える
BkeyPressイベントで[If a variable has a value]でspeed_selectの値をチェックし[Set the value of variable]で
Now_speedの値をその時の段階数speed_selectに応じたスピード値に書き換えてやるとともにspeed_selectも
[Set the value of variable]で次の段階数へ更新してやる。
(2つの[Set the value of variable]は[Start of a block]と[End of a block]ではさむ事をお忘れなく)

これでキーを押すごとにスピードが変化する
段数を多くすると必然的にBの[If a variable has a value]と[If a variable has a value]の数が多くなっていくから
GML使えるならswitch文を使う方がスマート
418417:2007/09/19(水) 00:30:17 ID:K3MABk9U
うは 先答者いたw
419名前は開発中のものです。:2007/09/19(水) 07:42:02 ID:PrEtAf1p
>>416-417
ありがとうございます
変数は一応使っていたのですが速度を変数にするのは気づきませんでした
420名前は開発中のものです。:2007/09/20(木) 21:56:13 ID:4DzNB1VD
横から視点のゲーム作ろうとしてるんだが乗れる床が作れない
ジャンプしたら着地したときに少し滑るって動きをさせてるんだが普通の横移動で突っかかったようになる
バージョンは7GMLなんて聞いたことない過去ログは読んでない
アドバイスくれ
421名前は開発中のものです。:2007/09/20(木) 22:31:17 ID:5F1p/CW6
度々すみません
強制スクロールにすると画面下のアイコンや上に表示したスコアがついてこず画面外に取り残されてしまいます
現在のビューにアイコンやスコア等を固定するにはどうしたらよいのでしょうか
422名前は開発中のものです。:2007/09/21(金) 00:11:25 ID:FZFc4C4q
>>420
引っかかる現象は落下処理に問題がある場合が多い気がする。
コリジョン(めり込み)状態だと横に移動するときに引っかかるよ。いったん床にコリジョンしたら、
『めり込してないが、接している状態にする』処理と、
『床に接している状態では落下しない』処理を
きちんと為されているか、見直してみて。
条件やタイミングによっては抜けてしまっているとか、結構アリガチ(俺だけかなorz)

>>421
スコアの表示位置をビューの相対座標にしてみて。横スクならviewのx座標、縦スクならviewのy座標斜めならどちらとも)
423422:2007/09/21(金) 00:12:19 ID:FZFc4C4q
すまん、途中で送信してしまった、
>>422
ビューのx座標、y座標を スコアの表示位置に加えてみて。
424名前は開発中のものです。:2007/09/21(金) 07:17:49 ID:Md866hct
レジストしていないgamemakerで作ったゲームは
配布しても、大丈夫なんでしたっけ?
425名前は開発中のものです。:2007/09/21(金) 07:51:14 ID:7psMFQgC
>>423
ビューの相対位置にするにはどこを設定すればいいのでしょうか。
それと画面下に能力アイコンを表示しておきたいのですがそちらも流れる画面に固定するのは可能でしょうか
426422:2007/09/21(金) 11:07:48 ID:Zb+pDnU8
>>424
無料配布、販売もOKだよ。
でも販売はもちろん無料配布にせよ、画像とか音の素材は自力で用意するか、素材の作者が使用許可しているものでないと駄目っす。

>>425
直接相対にさせる設定は無いよ。大げさに言えば、そういうロジックを自力で組むということ。
アイコン表示もアイコン表示も同じやり方で対処可能だよ。
カンタンなのは、ステップごとに強制スクロールさせている移動量を x座標、 y座標 に加えていくようにする方法かもね。

でも、加えていくやり方がイマイチ面倒なら、
(理由のひとつに、中ボスとかで途中で強制スクロールを停止させる場合、その都度加えるのを止めなければならない。個人的に面倒。)
x = 画面に表示したい座標 + view_xview[0]
y = 画面に表示したい座標 + view_yview[0]
とかステップイベントで書いておくと、常にview画面に対してフィットする。

基本的にGameMakerは ルームの座標で処理しているので、
[ルーム座標系による座標] = [画面の左上を0,0としたときの座標]+(横ならview_xview[0] 縦ならview_yview[0])
という式が成立するはず。よくわからんかったら、色々やってみて理解を深めてください。
長い説明ですまんです。
427名前は開発中のものです。:2007/09/22(土) 00:59:29 ID:GELRMyyp
てっきり、レジストしてないと配布してはいけないと
思い込んでいました。
428名前は開発中のものです。:2007/09/22(土) 10:45:04 ID:PfhgUac3
自キャラの真上に分身のようなものを出して自キャラと同じ動きをさせるにはどうしたらいいでしょうか。
429名前は開発中のものです。:2007/09/22(土) 12:48:31 ID:597IuagT
>>428
分身となるオブジェクトのSTEPイベントにJump to position アクションで以下のように設定してみては。 

(自キャラのオブジェクト名をmyshipとします)
・x に myship.x とする。(myship と x とのあいだにピリオド( . ) を忘れずに!)
・y に myship.y - [自キャラオブジェクトの高さ幅]

xの値や、yのマイナス幅とかだけど、これはキャラの原点(origin)や画像のサイズに依存するんで
自分なりにアレンジして設定してみて。
430名前は開発中のものです。:2007/09/23(日) 14:06:15 ID:DKctpgDf
>>406のやり方だと画面上と左にははみ出ないのですが下にはみ出てしまいます。
これはどうすればいいのでしょう。
431名前は開発中のものです。:2007/09/23(日) 16:53:43 ID:x9nNhXjf
現在STGを作っており、自機を追尾するミサイルのような敵を
作りたいのですが、やり方がわかりません
どうすればいいのでしょう、ちなみにGMLはわかりません
432名前は開発中のものです。:2007/09/23(日) 17:07:20 ID:aQRdOqe9
>>430
キャラ画像のはみ出方に注意しないといけないよ。スプライトのOriginによってはみ出方が違うけれど。
Originは初期設定だと、スプライトの左上角の位置で座標管理されているから、
強制スクロールで右や下にはみ出ることになるよ。

たとえば、スプライトのOrigin(原点)が左上角で、縦幅48 横幅32 の場合、
>>406の式を以下のように変えればいけると思う。

x = min(max(x, view_xview[0]), view_xview[0] + view_wview[0] - 32);
y = min(max(y, view_yview[0]), view_yview[0] + view_hview[0] - 48);

>>431
Move towards point アクション(矢印と点があるアイコン)をステップイベントに追加して、

(自機オブジェクト名をmyshipとした例。>>429同様 myship と x との間にピリオドを忘れずに)
x = myship.x
y = myship.y
speed 適当な数値

としてみては。動きに不満があるかもしれないけどね・・・。
433名前は開発中のものです。:2007/09/23(日) 18:06:04 ID:x9nNhXjf
>>432
成功しました、ご指導ありがとうございました
434名前は開発中のものです。:2007/09/24(月) 14:43:07 ID:rIfQxbjS
ウィンドウキャプションに文字を打つと後ろにスコアが表示されてしまいます。
スコアを表示させない方法はありますか?
435名前は開発中のものです。:2007/09/24(月) 19:00:34 ID:wo/XJGT8
スコアキャプション アクション (ウィンドウっぽいアイコンでSLHと書かれているやつ)
で、show score の部分を don't show に変更しよう。

同様のことをコード(GML)で記述するならば、
score_caption = false;
でOK。

いづれも、最初のイベントのほうでやれば良いと思うよ。
436435:2007/09/24(月) 22:06:25 ID:Avl9+fei
>>435での訂正。
GMLでの記述が間違っています。正しくは

show_score = false;

でした。また、score_caption という変数名は無く正しくは caption_score です。
caption_score は、キャプション部分で点数の直前に表示する文字列(デフォルトで Score:) を設定する変数のようです。
混乱させてごめんなさい。
437名前は開発中のものです。:2007/09/25(火) 14:18:30 ID:juBklLfh
ボスキャラなどにひたすら上下に往復する動きをつけたいのですが何を設定すればいいのでしょう
パスの使い方はいまひとつわかりません。
438名前は開発中のものです。:2007/09/25(火) 23:10:07 ID:wgthl9NZ
>>437
アラームイベント+アラームアクションを使ってみましょう。

-----
手順1
   ボスオブジェクトのクリエイトイベントに、VARアクションを追加、
   valiable に updown という文字列(変数名)を、value に 1 を設定する。
手順2
   さらに、Set Alarm アクションを追加。number of steps に 1、Alarm no に Alarm0 を選択しておく。
手順3
   ボスオブジェクトに イベント Alarm0 を追加する。
手順4
   ボスのAlarm0 イベントで、Move fixed アクション(赤く八方に矢印が出てるアイコン)を追加。
   下を選択、speedには [適当な数値]*updown と設定する。
手順5
   続けて、VARアクションで variable に updown、value に -updown と設定する。
手順6
   さらに続けて、Set Alarm アクションを追加。number of steps に 60ぐらいを設定。
   Alarm no に Alarm0 を選択しておく。
-----

以上で、一定間隔で定速で上下運動するようになると思います。間隔を調節したければ、手順6 で設定した数値をいじってみてください。
単純な動きならこのようにアラームでも対処できますが、複雑な動きにしたければタイムラインやパスを扱う必要があるかと思います。
439名前は開発中のものです。:2007/09/28(金) 22:00:48 ID:+Qz3cTwT
>>422
遅くなってスマンがサクンス
Precise collision checkingってとこのチェックを外したら解決した
根本的解決にはなってないかもしれんが何とかなったww

もひとつ聞きたいんだが、gamemakerを使う上であればいいスキルってなにがある?
440名前は開発中のものです。:2007/09/29(土) 01:28:10 ID:OUsPaiyV
>>439
もしかしたら、キャラアニメのフレーム間で地面と接する位置が一致してなかったのかもね。
Precise collision checking がオンだと、キャラのドット絵自体が当たり判定になるから…。
チェックを外すと ドット絵に依らず Bounding Box が当たり判定となります。

GameMakerを使う上でのスキル、とは漠然とした質問(汗
まぁドット絵と音楽がある程度自作できると、楽しいかもね。(俺は満足に出来ん…orz)
GameMakerで色々したければ、GMLはやったほうが良いよ。ソースの見通しもよくなるし。
一番良い練習は、自分で作ってみたゲームのアクションをなるべくGMLで置き換えてみる作業かな。
また、Wikiにあがってるもの以外にも海外のサンプルとか漁って、
ソースを読むことが出来ればなおよいかと。(若干の英語力が必要)
441名前は開発中のものです。:2007/09/29(土) 14:45:12 ID:4bes+mi5
坂、というか斜面へのコリジョンやりたいんだけど
GameMakerってそういうの簡単に出来る?
これって基本はタイルベースでのマップ管理だよね?線分のリストとか逆に面倒そうだし

しょぼいサンプルじゃなくて、滑らかに坂を登ってそのまま平地を進む
みたいなの作れるレベルの人はいますか??
442名前は開発中のものです。:2007/09/29(土) 19:23:42 ID:9lJHmvQD
>>440
ドット絵とか音楽か・・・ちょっと本屋でいろいろ探してみますね
GMLも頑張ってみるw
英語力は辞書で補うwwwwwww
443名前は開発中のものです。:2007/09/29(土) 20:01:59 ID:F32aXzae
背景のちょっとした部分を動かしたりしたいのですが背景画像はアニメーションにはできないのですか?
444名前は開発中のものです。:2007/09/30(日) 01:17:15 ID:OYPKWvpr
>>441
こんな感じでいいかい?かなり粗い作りだけど。(バージョン 7.0)
ttp://gamdev.org/up/img/10211.zip
スペースキーでボールが動くよ。
Precise collision checking に頼ったやり方だけどね。GMならではのやり方ともいえるんじゃないかなぁ。
ただ、Precise ... なコリジョンだと、実質タイルベースから開放される反面、融通の利かない場面もでてくるし、処理も重くなると予想されるね。
参考になれば。

>>443
背景画像は基本的にアニメーション出来ないよ。動かしたい部分にオブジェクトを配置するのが簡単な解決方法です。
スプライトによるアニメがどうしてもいやなら、動かしたい部分をタイルチップであらわして、
タイル管理オブジェクトを用意するなりして、そこから命令を出してタイルチップを定期的に変更して、アニメーションを表現する方法もあるにはあるけど、
結構手間がかかりそうな割りに、前者の方法に比べてメリットがあまり見出せません…。
445444:2007/09/30(日) 08:23:59 ID:J186ada5
度々ごめん。上で挙げたサンプルで、多少ギザついていた問題を修正した。
ttp://gamdev.org/up/img/10213.zip


446名前は開発中のものです。:2007/10/01(月) 02:57:41 ID:uYTipwhK
>>444-445
おおー ありがとうございます
早速参考にさせてもらいます

これって本家や日本フォーラムでも話題にならないんですかね?
みんな矩形のカクカクしたマップで妥協してるのかな
447名前は開発中のものです。:2007/10/01(月) 10:39:32 ID:/4FfCvcD
てか最新版の日本語訳キボン
448名前は開発中のものです。:2007/10/01(月) 13:21:12 ID:m2qQgTFJ
ここにおられる人はゲーム作るのに数学は出来た方が有利だと思いますか?
僕は数学が苦手で2次方程式がようやく解けるくらいです。
449名前は開発中のものです。:2007/10/01(月) 15:33:00 ID:aKVg/NXF
>>448
出来なければ無理、というほどではないと思うけどある程度
数学の基礎知識はあったほうが有利だと思う。コマンドの幅が広がるはず。
あとはこのスレでよく言われてるGML、興味があれば勉強してみるといいかも。

勿論単純な作りのミニゲームとかをつくるならそういったことは気にせずに
直感的に組んでいっていいとおもうよ。それがGameMakerの長所でもあるしね。
450名前は開発中のものです。:2007/10/01(月) 21:53:37 ID:CZos6bFb
GameMakerってネット対戦できるものとか作れる?
451名前は開発中のものです。:2007/10/03(水) 00:54:58 ID:EFi7sI/b
バックグラウンドを途中で差し替えることは可能ですか?
452名前は開発中のものです。:2007/10/05(金) 01:56:10 ID:4xeppq1Q
>>450
できると思われ。公式のチュートリアルに、チャットとPongゲームのサンプルがあります。
ソースのみなので、実行するには GameMaker 7.0 Pro が必要になるけど…。
ダウンロード先 :
ttp://www.yoyogames.com/downloads/tutorials/multiplayer.zip

>>451
背景画像は、background_index[0..7] という変数で設定されています。
ちなみに、0..7 は 0〜7 までのいずれかの数値がはいる、ということ。(配列)
また、背景は 0〜7番の8段階のレイヤで管理されているんで、最大8枚の背景を重ね合わせることができます。
たとえば、background1 という背景画像がリソースに登録されているとして、
背景レイヤ0番の画像をこれに変更したいときは、適当なイベント中に VARアクションを追加し、
 variable に background_index[0]
 value に background1
とすれば変更が可能です。
453名前は開発中のものです。:2007/10/05(金) 03:26:55 ID:wSCRnqHh
というかライセンスやらが絡んで日本語化が難しいんなら
メニューやらを日本語訳したテキストを製作者に渡せばいいんじゃねーの?
454名前は開発中のものです。:2007/10/05(金) 17:34:54 ID:g6B1FYU5
>>452
ありがとな
455名前は開発中のものです。:2007/10/05(金) 21:13:00 ID:hQr7IoXo
GM7でmbText 1.4.0とjFont Maker 2.2.0を使って日本語表示しようとするとエラーでるんですけどできないんですか?
456名前は開発中のものです。:2007/10/05(金) 23:14:26 ID:2NkJ/cbT
>>455
エラーの情報を詳しく書いてほしいです…。
どんなタイミングでどんなエラーがでたのか書かないと、何もわからんです。
あなたのPCでエラーが起きた現場を見た人はネット上にはいない。
少なくとも私の環境では GM7 Lite でも表示できましたが…。
457名前は開発中のものです。:2007/10/05(金) 23:26:39 ID:2NkJ/cbT
あー、わかった。多分。
mbtext_setfont() を呼んでないのではないでしょうか。
文字表示をする前に mbtext_setfont() 関数を呼んで、設定しないといけないです。
(リソースにスプライト用意しただけでは、実行時にどのスプライトがフォントとして使用するのか、また、どんなサイズなのかわからないから)

どっかのオブジェクトのクリエイトイベントかなんかで、Execute Code アクションを加えて、
mbtext_setfont( [全角のスプライト名] , [半角のスプライト名] , 「フォントメーカーで設定したサイズ(数値)」) ;
の1行を、加えてみてください。
これが違うなら、わからんです。。。
458名前は開発中のものです。:2007/10/05(金) 23:28:05 ID:PKPevRDs
タイピングゲームって作れますか?
>>1のサイトをざっと見てみたんですが、
キー情報の取得に関する関数がない気がするんですが。
459名前は開発中のものです。:2007/10/05(金) 23:29:16 ID:qYq6QO0A
できないものだとおもって書きませんでした。すいません。
実行してロードが完了すると
Unexpected error occured when running the game.
とでてきて、あとは
Access violation at addres..........
などというエラーがたくさんでてきて終了します
オブジェクトのコードはこんなんです
{
mbtext_setfont(spr_zen, spr_han, 20);
mbtext_draw("描画するテキスト", 0, 0);
}
なにがだめでしょうか?
460名前は開発中のものです。:2007/10/05(金) 23:48:54 ID:2NkJ/cbT
>>458
ヘルプの GML>>User Interfection >> the Keyboard 辺りを読んでみましょう。
変数 keyboard_lastkey で最後に押されたキーのキーコードがわかります。(そのとき押されてなくても)
一方、
変数 keyboard_key で、今現在押されているキーのキーコードが得られます。
キーコードは数値でなくても、Aキーなら VK_A とかで定義されてます。特殊なキーはヘルプに出てます。

また、特定のキーが押されているかどうか調べる関数も用意されてます。
keyboard_check(key) : key が押されていたら true を返します。
類似関数に keyboard_check_pressed(key) や keyboard_check_released(key) があります。

>>459
うーん、そのエラーは結構深刻そうです。PCの環境あたりから疑わないといけないかもしれません。
ほかのサンプルゲームが普通に動くのなら、VRAMやPCメモリの容量が足りない可能性もありますね。
ためしに、全角スプライトのところを preload texture のチェックをはずしたり、
それでもだめなら、記号とひらがなだけ残して消して、ひらがなだけ表示させてみて、実験してみてください。
それで動けば、メモリ関係が原因かと思われます。
461名前は開発中のものです。:2007/10/05(金) 23:52:58 ID:2NkJ/cbT
訂正 : User Interfection でなくて、 User Interaction です…
誤字が多くてすまんです
462名前は開発中のものです。:2007/10/06(土) 00:01:45 ID:mQ8ag/BB
あ、すいません
最初から読み直してやってみたらできました
すいませんでした
463名前は開発中のものです。:2007/10/06(土) 00:19:17 ID:YdfEd/7r
>>460
ヘルプまでは読んでいませんでした。
あるんですね。どうもありがとうございました。
464名前は開発中のものです。:2007/10/08(月) 16:04:54 ID:4SbO/Zc7
画像をdraw_sprite_stretchedなどで拡大表示したときに、
当たり判定も一緒に拡大する方法はありますか・・?

当たり判定用の矩形オブジェクトを用意して、
オブジェクトを生成するときに大きさを引数で指定できるようにしたのですが、
肝心の当たり判定の大きさが拡大する前と変わらないままなのです。

128x64の判定を作りたいのに、32x32の判定しか作ることができない、といった状況です。
当たり判定の左上・右下座標を変数などで指定することはできるのでしょうか。
465名前は開発中のものです。:2007/10/08(月) 16:48:44 ID:4SbO/Zc7
すいません、書き込んですぐですが、自己解決しました。
もっと悩んでから書き込むべきだった…(´A`;)

if( collision_rectangle(x,y,x+wide,y+height,charatest,false,true) > 0 ){

sound_play(snd_Hit);

( collision_rectangle(x,y,x+wide,y+height,charatest,false,true) ).HP -= Damage;
( collision_rectangle(x,y,x+wide,y+height,charatest,false,true) ).alarm[0] = Time;
( collision_rectangle(x,y,x+wide,y+height,charatest,false,true) ).speed = movePower;
( collision_rectangle(x,y,x+wide,y+height,charatest,false,true) ).direction = moveDirection;

draw_hitStar(x + (sprite_width/2),y+ (sprite_height/2),30);

if(kind == 0){
( collision_rectangle(x,y,x+wide,y+height,charatest,false,true) ).image_index = 2;
}else if(kind == 1){
( collision_rectangle(x,y,x+wide,y+height,charatest,false,true) ).image_index = 3;
}else if(kind == 2){
( collision_rectangle(x,y,x+wide,y+height,charatest,false,true) ).image_index = 4;
}else if(kind == 3){
( collision_rectangle(x,y,x+wide,y+height,charatest,false,true) ).image_index = 5;
}

instance_destroy()
}
466名前は開発中のものです。:2007/10/08(月) 17:34:48 ID:qKmaq3uh
>>464-465
解決したからよいかもしれないけど、考えてみたんで一応参考程度にしてみて。結構荒業?かもしれないけど。
縦横 1px のスプライトを用意(透過は無し)して、当たり判定用のオブジェクトを用意する。マスクで指定したほうがよいと思う。
んで、instance_create などで実行した後、縦横幅を与え、スプライトを拡大してしまおう。

例:
<パンチしたときなど>
atari_id = instance_create(xx-横幅/2,yy-縦幅/2,当たり判定用のオブジェクト)
atari_id.image_xscale = 横幅
atari_id.image_yscale = 縦幅

こうすると、(xx,yy)座標を中心に任意の縦幅、横幅のあたり判定用オブジェクトが出現するようになる。
サンプルできた。(7.0)
ttp://gamdev.org/up/img/10275.zip
F1 キーで簡単な説明でます。
467名前は開発中のものです。:2007/10/08(月) 18:13:57 ID:4SbO/Zc7
あれー・・?
解決するまではその方法を試してたんですが、
当たり判定が広がらず困ってました。
6.1だったからかな・・・?それともこっちの勘違い?
なんにせよ、ありがとうございました。
468名前は開発中のものです。:2007/10/08(月) 18:30:38 ID:qKmaq3uh
ごめん。7.0 のヘルプ に以下の一文が。
> Solved a bug in collision checking with scaled instances.
> 訳 : 拡大縮小されたインスタンスのコリジョン判定にあったバグを解決した

6.1以前だと、拡大されないみたいだね。こちらも 6.1 5.3A にて、動作しないことを確認しました。すみませぬ。。。
469名前は開発中のものです。:2007/10/08(月) 18:56:22 ID:NYq6HAI6
いえ、こちらこそバージョンを明記してなかったので申し訳ないです。
というかバグだったのか・・・。
470名前は開発中のものです。:2007/10/08(月) 21:13:04 ID:xMzu6E+i
厳密にいうと、スプライトを拡大した場合に当たり判定が
幅×image_xscale になるべきところが (幅-1)×image_xscale
になるバグがある。元のスプライトが大きければ目立たないが、
小さいスプライトだと顕著に。特に元が1ピクセルだと……
471名前は開発中のものです。:2007/10/10(水) 07:59:27 ID:xHCyvWv9
場面切り替えの際などに画面をだんだん暗くしていく方法はありますか?
472名前は開発中のものです。:2007/10/10(水) 08:05:16 ID:uuly2Ro8
>>471
画面のフェードアウト機能がないみたいな話があったはず
詳しくはこのスレのログを見ていって欲しいけど、代用としては
ディザ処理で透明から徐々に黒くなっていくアニメーションスプライトをつくって
それを表示、全体黒くなったところで画面切り替えってのがある
473名前は開発中のものです。:2007/10/10(水) 18:44:46 ID:clWDHbW4
劣化ウイイレのようなゲームを作ろうと思っていて、HSPかgamemakerで悩んでいるんですが、
gamemakerは、コートを固定しているカメラで見るように表示できるんでしょうか?
コートが常に四角く見えるんじゃなく、端っこのほうを見るときは台形のように見えるってことです
分かりにくくてすいません
474473:2007/10/10(水) 20:49:07 ID:clWDHbW4
考えてみたら2D作成用だし無理ですよね、
自己解決です、ありがとうございました
475名前は開発中のものです。:2007/10/10(水) 21:23:33 ID:4H4UcSWi
>>471
バージョンによるけど、GM7だと最初からRoom transitionに
フェードアウト・フェードインというのが用意されているよ。
GM6だと黒い四角を画面全体に半透明で描画するやり方がある。
まとめWiki↓にあるMs.PADDLERあたりを参考に。
ttp://gamdev.org/w/?GameMaker
GM5、あるいは未レジストなら>472かな。

>>473
レジストすれば3D機能も使えるんだけど、まあ3D向きでないのは確かだw
476名前は開発中のものです。:2007/10/11(木) 00:10:35 ID:bfULkcnK
GMLの文法ってC#に似てるみたいですが、
実際に使ってる人から見て似てると思いますか?
477名前は開発中のものです。:2007/10/11(木) 02:26:20 ID:MiBouJ8+
オブジェクトのプロパティとかアクセスするのは似てるかもしれない。
ただ、オブジェクトに任意の関数を持たせて
[object].[関数名](引数...)
というようなことはできない。(そもそもそういう文法がない)
※ ユーザーイベントとか駆使すれば似たようなことは出来なくはないと思うが、煩雑だし機能的にも制限が厳しい。
なもんで、完全なオブジェクト指向っぽい設計は難しいと思われ。

誤解を恐れずに言うと、個人的にGMLは、
構造体無し、変数のポインタや参照受け渡しの出来ないC言語っていう印象。
ただ、文字列操作はCよりかはマシかな。
478名前は開発中のものです。:2007/10/11(木) 07:28:19 ID:lfKlsL3a
いままでGM5で作っていたデータをGM7で起動して製作する場合消えたり変更されたりするデータはありますか?
479名前は開発中のものです。:2007/10/11(木) 23:29:34 ID:j9EjwRAb
>>478
スプライトとかオブジェクトとかは一応ちゃんと残るよ。

ただ、一部のアクションは「古いアクション」とか
「不明なアクション」てやつに置き換えられてしまって
中身が見えなくなる。7で編集を続けるつもりなら、
元のgmdをとっておいて見比べながら直さないと辛いかも。

いずれにせよ、5から6で色々削られたり変更になったり
してるから、それなりに書き直さないと動かないと思う。
480名前は開発中のものです。:2007/10/16(火) 08:31:52 ID:KDtruK3Z
これランゲージファイル対応してないの?
481名前は開発中のものです。:2007/10/17(水) 13:07:25 ID:NOHDADh4
「ボスの目の前一直線上に主人公が来たときボスが攻撃する」や「主人公がボスの上に移動したときボスが攻撃する」
など範囲を指定してそこにキャラクターが来た時行動を起こさせることはできますか?
482名前は開発中のものです。:2007/10/18(木) 11:13:19 ID:zjjlkNBl
>>481
どちらもボスキャラとプレーヤーキャラのインスタンス原点比較で出来る
「ボスの目の前一直線に主人公がきた時」は「ボスの横座標(x座標)と主人公の横座標が一緒となった時」(横画面を想定して)なんだけど
実際キャラを動かすとx座標がぴったり合うことはすごく稀なので幅をもって比較してやるのが普通。
ということでオブジェクト名をボスキャラ:obj_bosプレーヤーキャラ:obj_pcとし、判定をobj_bos側で処理するとして判定幅を変数でobj_bosに持たせてやる(例ではbias)
以下GMLで書くと(アクションでやる場合はIf a variable has a valueアクションを組み合わせて出来ます)ステップイベントに

if(obj_bos.x + bais <= obj_pc.x && obj_bos.x - bais >= obj_pc.x)
//ボス原点+バイアス値よりプレーヤーキャラ原点が小でボス原点−バイアス値よりプレーヤーキャラ原点が大の時
{
//ここに攻撃処理を記述
}

と書いてやればいい。
「主人公がボスの上(ry」は同じ要領でプレーヤーキャラがボス上の矩形領域にいるかどうかを、x座標y座標を各々比較してやればいいと思います。
483482:2007/10/18(木) 11:16:42 ID:zjjlkNBl
細かく誤字がある・・・まぁわかるかと・・・
484482:2007/10/18(木) 11:43:05 ID:zjjlkNBl
かさねがさねすみません。符号ミスった。
× if(obj_bos.x + bais <= obj_pc.x && obj_bos.x - bais >= obj_pc.x)
○ if(obj_bos.x + bais >= obj_pc.x && obj_bos.x - bais <= obj_pc.x)
自分こういうのおおいな・・・・ごめんなさい
485482:2007/10/18(木) 12:01:37 ID:zjjlkNBl
今日ズタボロだす
横の場合はx座標ではなくy座標でした・・・・・
本当にごめんなさい
486名前は開発中のものです。:2007/10/18(木) 15:58:06 ID:2p+G78pK
一定時間無敵という状態を作りたいのですが十数秒自キャラのあたり判定をなくすことはできますか?
半透明で当たり判定のないオブジェクトを作ってそれにチェンジするといろいろ変数を追加しないといけないので面倒なのdすが・・・
487名前は開発中のものです。:2007/10/18(木) 18:41:17 ID:HP36It3Q
>>486
自キャラに無敵フラグを追加、で解決するような...。駄目な理由があるのかな。
自分だったら、当たったときにフラグチェックして無敵だったらコリジョン処理しない(即座に抜ける)ようにし、
タイマー使って一定時間後に無敵フラグ消失、というような感じにする。
488名前は開発中のものです。:2007/10/18(木) 20:07:50 ID:8B1FDJnb
>>487
シューティングならそれでいいかもしれない
横視点アクションとかで地面とかが関わるならもう少し工夫しないとだけかも

このスレのログを辿ると似たよう話に当たるかもしれない
489名前は開発中のものです。:2007/10/18(木) 20:40:28 ID:vfcbVUIf
面倒がってる奴に教える意味有るのか?
490名前は開発中のものです。:2007/10/18(木) 21:42:24 ID:6eGl9S9Q
過疎よかいいじゃないか
491名前は開発中のものです。:2007/10/19(金) 07:37:01 ID:MUFGtR6o
492名前は開発中のものです。:2007/10/19(金) 18:06:04 ID:Vl0npn9t
bGMについての質問なのですが
曲Aが流れているときにちょっとした短い曲Bを流したいのですが
「曲A一時停止>曲B再生>曲B終了>曲Aを一時停止の時点から再開」という風にするにはどうしたらいいのでしょう
493名前は開発中のものです。:2007/10/19(金) 22:59:25 ID:6RGcBw98
公式のゲームは起動する時create with game makerって出てこないけど
これを消すのはliteでもできる?
494名前は開発中のものです。:2007/10/20(土) 00:33:48 ID:hAmk06Ct
>>492
一時停止は、関数 bGM_pause(sound_id) でできる。sound_idに曲AのIDを指定しよう。
その後、bGM_play(曲Bのファイルネーム, [設定]) を呼び出し、曲Bを再生する。
曲Bの終了検知は、今のところ無理っぽい。曲Bが終わる時間を見計らって、一定時間後に曲Aに復帰させるしかないかな。
なお曲Aに演奏を復帰させるときも、 曲AのIDを引数にして関数 bGM_pause()を呼び出す。

関数リファレンス
ttp://gamemaker.main.jp/static/bGMref/

>>493
無理です。
495名前は開発中のものです。:2007/10/21(日) 00:27:43 ID:1O8dqLnR
これって日本語化出来る5.3使った方が良いのか?
496名前は開発中のものです。:2007/10/23(火) 20:19:08 ID:1Dn54OyY
7について説明してくれているサイトとかありますか?
7は日本語化できますか?
497名前は開発中のものです。:2007/10/23(火) 20:39:07 ID:1Dn54OyY
すいません。

日本語のヘルプはどこでダウンロードできますか。
>228さんのchmでは、書かれていない部分があります。
それを補うにはどうすればいいですか。
498名前は開発中のものです。:2007/10/24(水) 18:24:35 ID:CNVx+st/
止まってるな、1を見たら2年前だし
499名前は開発中のものです。:2007/10/24(水) 21:53:11 ID:WgthXhdI
>>477
Cの簡易版みたいな感じですね。
500名前は開発中のものです。:2007/10/24(水) 23:12:03 ID:3bv97O32
もう少し突っ込んだ内容のチュートリアルとか
日本語の資料があれば人気出ると思う。
501名前は開発中のものです。:2007/10/24(水) 23:16:00 ID:IY/D3Nkk
2Dのアクションゲームを作ろうとしているのですが、キャラクターを地面や足場に吸着させて動かすにはどうすればいいのでしょうか。
GM7です。
502名前は開発中のものです。:2007/10/25(木) 00:18:31 ID:vNqY00up
ご指導ください

bGM.exe を使用して音楽をならそうとしてるのですが
デモの通りに設定しているはずなのに変なのです。

どんちゃどんちゃ というのが二重再生みたいに
ドドンチャチャドドンチャチャ とせわしなく再生されます。

しかも終了した後に、ノイズがいつまでも残ってる状態です。
(プロセルには何も残っていません)
何が悪いのでしょうか。
503名前は開発中のものです。:2007/10/25(木) 00:56:28 ID:vNqY00up
すいません解決してしまいました。

一度すべてのオブジェクトをクリアして再設置した所、無事期待通りの反応を返してくれました。

・・・何故治ったのか原因が掴めないので不安ですが、また似た状況なった場合、
動作報告させて戴きます。
504名前は開発中のものです。:2007/10/25(木) 05:08:36 ID:AiXecA9K
今、必死でE-WordChanger2000を使って7の日本語化を試みてるけど、めんどくさいったらありゃしない
もう少し頑張ってみるか
505名前は開発中のものです。:2007/10/25(木) 10:12:51 ID:/6XVTfMT
俺もやってみたことあるけど、文字化けでおかしくなったりしない?
日本語化できない部分もあるし……。
506名前は開発中のものです。:2007/10/25(木) 12:51:49 ID:kOwmLgcJ
フォント変えてないんじゃねーのか
507505:2007/10/25(木) 13:46:16 ID:gKkUjDf5
E-WrodChanger2000が変更してくれない部分もある。
イベント追加するときのイベントの種類とか、アクションを追加するときの OK や Cancel の文字とか。
GameMaker側でフォントの設定もできないようだった。スクリプトのコードや、GameInformation の部分では変更可能だったけど。
……もしかして、俺のやり方が違っていたのだろうか。
508名前は開発中のものです。:2007/10/25(木) 13:59:20 ID:gKkUjDf5
↑の話は、文字は変更できるがフォントが変更されないってことっす。

Cancel → キャンセル はE-WordChanger2000側でデフォルトで変換しているようで、何も設定していなくても変換され、文字化けしてしまう。
デフォルト変換をやめるよう設定できるのかな。途中まで作ってたんだけど、そのやり方がわからんからやめてしまったんだ。
なおGameMakerはデフォルトのフォントは MS Sans Serif(海外ソフトではお馴染み) が使われているようだ。
509名前は開発中のものです。:2007/10/25(木) 21:45:38 ID:vNqY00up
クレジットカードを持ってないのですが、レジストするにはyoyoサイトのどこを見ればよいのでしょうか?

簡単に決済する方法はありますか。
510名前は開発中のものです。:2007/10/25(木) 23:06:27 ID:oTzrknN0
>>509
まず、yoyoサイトのアカウントを取得します。※メールアドレスが必要。無料のものでかまいません。
ログインしたら、ttp://www.yoyogames.com/gamemaker/buy/にアクセス
クレジットカードかPayPalで決済するとすぐにレジストできます。
ですが、PayPalでもクレジットカードが必要になりそうですよね…
それ以外の方法となると、上記のページ下にあるように、helpdeskに問い合わせをしなければならないようです。
511名前は開発中のものです。:2007/10/26(金) 19:58:39 ID:owvMBGHB
>>510
丁寧にありがとうございます。

やっぱりクレジットカードが必要になるのですね・・・
フリー版でやれるところまで頑張ってみます。
512名前は開発中のものです。:2007/10/27(土) 04:42:33 ID:bo72z7qT
x160〜480の間にランダムにインスタンスを出したいのですがどうしたらよいでしょうか。
x0〜ならできるのですが><
513名前は開発中のものです。:2007/10/27(土) 05:51:00 ID:b7zQv7OS
壁に設置したハシゴをキャラクターを上らせるというアクションを取りたいのですがうまくいきません。

ハシゴ(3x16ドット)あるのですが、キャラとぶつかって「ハシゴ」に乗ってしまいます。
キャラがハシゴと接触したときにボタンを押すと掴む、何もしなければ素通りさせるという処理をしたいのです。
何か良い方法はないでしょうか。
514名前は開発中のものです。:2007/10/27(土) 06:52:36 ID:UL5QEHWV
>>508自分の作った辞書以外のチェックを外して、更にdicフォルダの辞書を自作辞書以外全て削除
515名前は開発中のものです。:2007/10/27(土) 14:25:15 ID:47eNMq37
>>512
使ったことないがx0〜320を出してそれに160足せばいいんじゃね?
516名前は開発中のものです。:2007/10/27(土) 14:38:37 ID:szgPSdg7
特定のインスタンスを変更するにはどうすればよいのでしょう・・?

通常のChange the instanceアクションで、Apllies toを使って
変更したいオブジェクトを指定すれば良いのはわかるのですが、
同じ事をGMLでやろうとしても、インスタンスを変更する命令が
instance_change(obj,perf)とposition_change(x,y,obj,perf)しか見当たらないのです。

オブジェクト名を指定してそのインスタンスを変更するというGML命令は無いのでしょうか…?
517名前は開発中のものです。:2007/10/27(土) 15:43:28 ID:JBeAIlon
>>516
つwith文
with (obj) {
// このブロックではobjのインスタンスすべてに適用される
// with文を呼び出している元々のオブジェクトに対しては other を使用する。
// x = 0; // これはobjのインスタンス全てのx座標が0となる。
// other.x = 0; // これはwith文を実行しているインスタンスのx座標が0となる。
//
// 特定のオブジェクトのインスタンス全てではなく、一つのインスタンスに適用したいなら、
// with文の指定でオブジェクト名ではなくインスタンスIDを使用すること。
// Tips : with文は、繰り返し処理である。対象となるインスタンスIDの若い順に実行されているようである。
}
518名前は開発中のものです。:2007/10/27(土) 18:29:37 ID:mK85JoeL
あぁー。

ようやくwithが理解できました。
言われてみれば簡単でしたね。

ありがとうございました。
519名前は開発中のものです。:2007/10/27(土) 19:06:11 ID:MYcBDy56
2Dアクションを作っているのですが通り抜けできない障害物の作り方がよくわかりません。
上に乗れるが横からは通れないようなものを作りたいのですが何を設定すればいいんでしょう
520名前は開発中のものです。:2007/10/28(日) 01:05:44 ID:4H1O2wN3
>>511

つ VISAデビット
521名前は開発中のものです。:2007/10/28(日) 02:22:00 ID:eDM7pNaz
>>519
それだと上からも横からも通らないオブジェクトだから普通のオブジェクトじゃない?
522名前は開発中のものです。:2007/10/28(日) 10:38:07 ID:cbYdgwGn
ヘルスの上限を100にしたいのですが上限を設定するにはどうしたらいいのでしょう。
523名前は開発中のものです。:2007/10/28(日) 11:40:24 ID:leAMyaxz
>>519
マリオやロックマンのような2Dアクションは意外に敷居が高いです。GameMakerなら、ソリッドオブジェクトとか、それに関するアクションの理解がいろいろ必要です。
公式のチュートリアルのソースを良く見てみましょう。
ttp://www.yoyogames.com/downloads/tutorials/platform.zip
この中の platform_1.gmk が基本的な部分になると思います。

>>522
100より増やしたくないなら、100超えたときに100にしてしまえばよい、というようにします。

ヘルス増した後に次のコードを追加。
if (health>100) health = 100;

Actionなら
if health is larger than 100
set the health to 100
のようなかんじで。
524名前は開発中のものです。:2007/10/28(日) 21:14:01 ID:cbYdgwGn
ありがとうございます
もうひとつ聞きたいのですがルームで設定したview1やview2を切り替えるにはどうしたらいいのでしょうか。
525名前は開発中のものです。:2007/10/29(月) 05:01:09 ID:zuWao6Bl
ver7 についての情報はありませんか。
526名前は開発中のものです。:2007/10/30(火) 11:56:12 ID:G3KKfzgr
日本語化パッチまだ〜?
527名前は開発中のものです。:2007/10/31(水) 17:07:35 ID:kICjS8bb
ver7を使っています。
ウインドウサイズについて困っています。

Settingでwidth:640 height:480にしています。
ゲーム起動してそのままのサイズで始めたいのですが、モニター画面めいっぱいに広がって起動してしまいます。
どこを設定すればよいのでしょうか。

View in room
528名前は開発中のものです。:2007/10/31(水) 17:11:22 ID:kICjS8bb
すいません途中で送信してしまいました。

View in room は、見せる範囲ですよね。そこは w:640 h:480 にしています。
port on screen でも同じく w:640 h:480 にしています。
ですがport on screen のサイズを変えると、ウインドウサイズは小さくなるのですが、絵が潰れてしまいます。

どこを設定すれば、元の絵のまま w:640 h:480 で綺麗に表示できるのでしょうか。
529名前は開発中のものです。:2007/10/31(水) 17:28:18 ID:kICjS8bb
すいません解決してしまいました。

grobal game settings の graphics > scaling のfixed scale が 200% になってました。
お騒がせしました。
530名前は開発中のものです。:2007/11/01(木) 22:33:50 ID:4l261QOy
テキストファイルに記述した キー=値 を起動時に読み込んで、
変数として扱うには、どうすればいいですか?

ver7 未レジスト
531名前は開発中のものです。:2007/11/02(金) 04:01:27 ID:qbEUBjbm
>>524
亀レスですみません。例えばview[0]を無効にしてview[1]を有効にしたければ、以下のようなコードを書きます。
view_visible[0] = false;
view_visible[1] = true;
view_xport[1] = 0; /* ウィンドウ内に表示する左上位置のx座標 */
view_yport[1] = 0; /* ウィンドウ内に表示する左上位置のy座標 */
view_wport[1] = 640; /* ウィンドウ内に表示する横幅 */
view_hport[1] = 480; /* ウィンドウ内に表示する縦幅 */

view1からview0にもどしたければ、配列番号の1と0を入れ替えればよいです。

>>530
ファイルの読み書きをするには、ファイルを扱う最低限の知識が必要になります。(オープン>読み書き>クローズ)
それを踏まえて簡単な方法として、iniファイルを利用する方法があります。iniファイルの構文などは、ネットでお調べください。
・ini_open(filename) ファイルネームを指定してiniファイルを開きます。
・ini_read_real(section,key,default) [section]内にある文字列key に設定されている数値を読み込み、数値を返します。
・ini_close() 開いているiniファイルを閉じます。
この関数を、あらかじめルームに配置されているオブジェクトのクリエイトイベントやルームスタートイベント等で実行させましょう。
例:
ini_open("setting.ini");
global.difficulty = ini_read_real("main","difficulty",0); /* iniファイルからmainセクションのキーdifficultyの数値を読み込む */
ini_close();

独自形式なら、テキストファイルを読み書きする関数等を使いましょう。
・file_text_open_read(fname) テキストファイルを開きます。成功するとファイルIDを返します。
・file_text_read_string(fileid) ファイルIDのファイルから文字列として一行読み込みます。
・file_text_read_real(fileid) ファイルIDのファイルから数値を読み込みます。
・file_text_close(fileid) ファイルIDのファイルを閉じます。
532名前は開発中のものです。:2007/11/03(土) 19:29:28 ID:zfNPIsFo
最近質問が多いんで、GameMaker用まとめwikiサイトを作りかけてるんですが、需要あります?
wikiはgamdevにもあるけど、あそこは紹介程度にして詳しい情報はほかのところでまとめたほうが良い気がしますし。
内容がGMJapanと被ってしまうのも気になります……。

ページ
ttp://www.wikihouse.com/GameMaker/index.php?FrontPage
まだGMLの変数一覧とか、関数一覧(数学関数以外ほとんど白紙)ぐらいしかないです……。
もし需要があるなら、補完してくれるとありがたいです。(GML関数の解説でも一人じゃつらい…orz)
あと、ほかにどんな情報がほしいのかとかもわからんです。公式チュートリアルの解説とかあるといいのかな?
533名前は開発中のものです。:2007/11/03(土) 19:59:03 ID:Z5CTQc/a
>>532
どこかに一行入力?があると嬉しいです。

>>531
ありがとうございます。
狙っている動作は、各キャラクターのパラメーターをプレイ時に読み込む事です。
(移動力・攻撃力の差異等)
GML、iniのの項目では全体の設定として使用するような事がかかれてあったので
最後のテキストファイルを読み書きする方法でいきたいと思っています。

指定行の読み込みはできるのでしょうか。
534532:2007/11/03(土) 21:43:07 ID:zfNPIsFo
>>533
Topページにコメントを設置しました。

あとご質問ですけど、キャラごととなると iniファイルは不適切ですね。
テキストファイルの扱いですが、基本的に先頭から読み込みます。(読み込んだあとは、戻れない)
>>531(=>>532だったり) では書かれていませんが、file_text_readln(fileid) を実行するとこで、次の行に移動します。
したがって任意の行を読み込むには、ファイルを開いたあと指定行までスキップしてfile_text_read_string() するということをしなければなりません。

例えば3行目を読み込みたかったら、次のようにします。(※インデントは全角スペースです)
fileId = file_text_open_read("filename.txt");
for (i=0; i<2; i+=1) {
  file_text_readln(fileId); /* forループにより、file_text_readln() が2回実行される */
}
text = file_text_read_string(fileId); /* 変数textに3行目の文字列が入る */
file_text_close(fileId);

もしくは、一つのデータが1バイトで収まるのであればバイナリファイルを扱ってもよさげですね。以下、必要そうな関数を列挙しておきます。
file_bin_open(fname,mod) ファイルを開きます
  fname : ファイルネーム
  mod : 開くファイルのモード 0:読み込み 1:書き込み 2:読み込み/書き込み ※書き込むと既存ファイルを上書きしてしまうので注意
file_bin_read_byte(fileid) 現在位置から1バイト読み込み、1バイト移動します
file_bin_write_byte(fileid) 現在位置から1バイト書き込み、1バイト移動します
file_bin_seek(fileid,pos) ファイルの先頭からposバイトの位置まで移動します(先頭は0)
file_bin_size(fileid) ファイルのサイズを取得します
file_bin_close(fileid) ファイルを閉じます
535名前は開発中のものです。:2007/11/04(日) 03:55:29 ID:7Uhxdtas
こういうのすごいありがたいわー
536名前は開発中のものです。:2007/11/06(火) 01:19:01 ID:IQqW+3zu
ニコニコアクションゲーム うpってくれねぇかなぁ
537名前は開発中のものです。:2007/11/07(水) 00:08:08 ID:mZ/mosz1
kyara
538名前は開発中のものです。:2007/11/07(水) 00:10:02 ID:mZ/mosz1
ごめんなさい。 間違って送信してしまいました。

質問です。
ヘルスメーターをキャラクターの頭の上に表示したいんですが、
Drawイベントにセットしたら、キャラクターのスプライトが
消えてしまうのです。

キャラクターを含め、深度?の設定は何も弄っていません。
どうしたらいいのでしょうか。
539名前は開発中のものです。:2007/11/07(水) 01:24:51 ID:k+N2ubak
>>538
drawイベントになにかアクションを置いてしまうと、設定されてるスプライトも描かなくなってしまうんだよね。
この仕様はおそらく、スコアやライフを自前で描くオブジェクトを用意したいときに、
エディタ中でルームに配置するときの識別アイコンとしてスプライトを使用することを視野に入れていると思う。
んなもんで、スプライトを表示したければ自前でやらなければなりませぬ。
drawイベントの一番上にでもオブジェクトに設定しているスプライトを描くよう、描画アクションを追加してください。
540名前は開発中のものです。:2007/11/07(水) 10:27:56 ID:lUo/Ckqn
砲台を常に自キャラの方向に向けるのってどうやったらいいのでしょうか
stepイベントとset varを使うような気がするのですが…
541名前は開発中のものです。:2007/11/07(水) 22:06:45 ID:mZ/mosz1
>>539
ありがとうございます。

スプライトを表示することができるようになったのですが、
イベント左キーでキャラクターを左向き、
イベント右キーで右向きに向くようアクションを設置していたのですが、
ずっと、drawアクションで設置したアクションのスプライトが
表示されつづけて変化しません。

自分は根本的に何か勘違いしているのでしょうか。
542名前は開発中のものです。:2007/11/07(水) 22:09:58 ID:HXVYqugh
>>540
角度を求めるアクションがないし、自前でやろうとしても三角関数の知識がない無理だし、以下の手順で。

手順1.
Scriptリソース(advanced mode じゃないと見えないから注意)にgetDegree という名前でスクリプトを追加する。
そして以下の2行をコピペ。
// argument0 のインスタンスから見た argument1 のインスタンスの存在する角度を計算する
return radtodeg(arctan2(-(argument1.y-argument0.y),(argument1.x-argument0.x)));

手順2.
砲台のオブジェクトのステップイベントで、自キャラ(ここではobj_myshipというオブジェクト名)までの方向を示す
変数(ここではdirとする)にVarアクションで次のように設定する。
variable: dir
value: getDegree(id, obj_myship)

以上で-180°〜180°(0°で画面右方向)の数値が得られるので、それをどうにか処理してください。
543名前は開発中のものです。:2007/11/07(水) 22:20:34 ID:HXVYqugh
>>541
表示を変えたいなら、draw spriteなアクションだと無理。コードで書くしかないかも。
以下に例を示すので適当に読み替えて試してみて下さい。
例:
表示するスプライト番号を記憶する変数drawSpr(名前は何でもよい)を以下のように使用する。
[createイベント]
Varアクションを追加して
variable : drawSpr
value : デフォルトのスプライト
[右入力イベント]
Varアクションを追加して
variable : drawSpr
value : 右向きのスプライト
[左入力イベント]
Varアクションを追加して
variable : drawSpr
value : 左向きのスプライト
[drawイベント]
codeアクションを追加して
draw_sprite(x,y,-1,drawSpr); //アニメーションするなら3つめの変数は左のように-1を指定する。0以上を指定すると固定される。
544名前は開発中のものです。:2007/11/07(水) 22:21:53 ID:HXVYqugh
ごめ、訂正。↑の最終行は「3つめの変数は」ではなく「3つめの引数は」です。
545名前は開発中のものです。:2007/11/07(水) 22:27:00 ID:HXVYqugh
ほんとにごめん、訂正その2 orz
>>543の例だと表示はいいかもしれないが、当たり判定とかまずいな。
変数名はdrawSpr ではなく、 sprite_index としてください。
546名前は開発中のものです。:2007/11/07(水) 22:45:10 ID:mZ/mosz1
>>545
!!!
うごきました。 狙った通りの動きをしてくれました。
ありがとうございます。 コードってすごいですね。

splite_index で動作しました。
547名前は開発中のものです。:2007/11/08(木) 00:01:11 ID:d2+xWEQm
>>542
つpoint_direction
548542:2007/11/08(木) 00:13:09 ID:1Yl9ePE9
>>547
すっかり忘れてますた。。。吊ってキマツ....
λ.................
549名前は開発中のものです。:2007/11/08(木) 00:28:00 ID:/npJWupm
初心者です。
弾があたったらHPを減らすようにしたいのですがどうしたらいいのですか?
550名前は開発中のものです。:2007/11/08(木) 09:51:24 ID:/npJWupm
すいません解決しました。
ヘルスメーターを複数設置することってできますか?
551名前は開発中のものです。:2007/11/08(木) 12:51:44 ID:n3szi+FF
>>550
まずは聞く前に>>1の情報サイトを見ることから始めないか?
552名前は開発中のものです。:2007/11/08(木) 18:55:03 ID:lBo37aAD
質問です。

コードをうつ内蔵のエディターで、「Ok,Save Changes」のボタンのショートカットキーか
他のエディターを使用する等はないでしょうか。
553名前は開発中のものです。:2007/11/08(木) 20:46:09 ID:nEyNxx0n
内臓のコードエディタのウィンドウを閉じる動作をショートカットキーでやりたいって意味なら、無理かも…。
外部のテキストエディタを指定することは可能です。
FileメニューからPreferance を開くと、Script&code とあるので、
その一番下のところに外部エディタを指定するところがあります。
554名前は開発中のものです。:2007/11/08(木) 20:57:31 ID:lBo37aAD
>>553
ありがとうございます。できました。
しかし、外部エディタを使うとgamemaker自体が閉じるんですね。
外部エディタを終了すると、gamemakerが戻ってきますが。
555名前は開発中のものです。:2007/11/09(金) 01:24:06 ID:jfoeydIJ
ファイルから文字列を取得する方法は上記のでてたやり方でわかったんですが、
それらを変数として扱うやりかたがまだわかりません。

kitai001.txt
attack=50
move=5
pow=3

という内容で機体データを読み込んだ時に
変数として扱いたいんです。
どうすればいいのでしょうか。
556名前は開発中のものです。:2007/11/09(金) 02:01:52 ID:6eGYZdLF
>>555
一番簡単なのは、execute_file(fname)、もしくはexecute_string(string)かなぁ。
指定するテキストファイルや文字列がGMLの文法にのっとってることが前提だけど。
例に出ている

attack=50
move=5
pow=3

とかなら全然OK。変数を代入したいオブジェクトでexecute_file(fname)を使うと一気に代入されるはず。
キャラ毎にファイルを作っておいて、キャラ毎に実行してみるようにしてみては?
ついでに言うと、execute系の関数は実行時にコード変換されるから、処理が重い(と予想される)。
今回のような初期化処理に利用するぐらいにしたほうが良い。

もちろん、文字列を扱う関数を駆使してもできるけど、かなり面倒かな…。
557名前は開発中のものです。:2007/11/09(金) 02:14:59 ID:UPA3QoAL
敵が味方に向かってくるようにはできますか?
調べてもわからないので教えてくれるとありがたいです。
558名前は開発中のものです。:2007/11/09(金) 18:08:17 ID:jfoeydIJ
>>556
ありがとうございます。
やってみましたがエラーが出てできません。

fileId = file_text_open_read("chara/pc1/kitai001.txt");
execute_file(fileId);
file_text_close(fileId);

コードはこのようでいいのでしょうか?

gamemaker7を使用しています。
英語のヘルプには、execute_file(fname,arg0,arg1,...) と書いてましてarg0...というくだりが理解できません。
559名前は開発中のものです。:2007/11/09(金) 18:09:43 ID:jfoeydIJ
今更ですが、7をやめて5.3Aを使用したほうが良いのでしょうか・・・
560名前は開発中のものです。:2007/11/09(金) 18:55:21 ID:nbXU63ap
execute_file()の第一引数はfileIdではなく、単純にファイル名でOK。
>>558で挙げているコードは、次の1行が正しい。
execute_file("chara\pc1\kitai001.txt");

arg0 以降の引数の意味は、読み込むテキストファイル内で、GMLにおける引数をあらわすargument変数に代入される。
この仕様により、execute_file()は関数を呼び出すときと同じような感覚になる。
例えば、code アクションで
execute_file("hoge.txt", 100, "argtest", direction);
というコードを実行するとして、

---hoge.txtの内容---
// argument0 には 100、 argument1 には "argtest"、 argument2 には、呼び出し時におけるdirectionの値が代入されている。
var i;
for (i=0;i<argument0;i+=1) {
// ここは100回繰り返される。
}
strTest = argument1; // strTest には 文字列"argtest"が代入される
myDirection = argument2; // myDirectionには、呼び出し時のローカル変数 direction が代入される
---hoge.txtの内容終わり---

というようなことができる。
561名前は開発中のものです。:2007/11/09(金) 19:07:33 ID:jfoeydIJ
>>560
ありがとうございます。
file_text_open_readで呼び出したIDじゃないと受け付けないと思いこんでました。
無事、読み込みました。

・・・そのコードの実行時に、ファイル内部へarg001...を全部もっていき、
そのファイル内コードで実行、結果内容がそのまま実行?されるわけですね。
7から書かれてるということは6までは出来なかった事なのですね。


それとは別の事なのですが、やっていて不思議に思ったのですが、
1つのイベント内で記述した変数は、他のイベント内で使用できないのですね。
オブジェクト内すべてで(varやglobalを使わない)変数を使えると思ってました。
562名前は開発中のものです。:2007/11/09(金) 22:30:00 ID:jfoeydIJ
・・・連続ですいません。
今、ちょっと試しにexe化したんですが、上記の外部ファイルを読み込む方法だと
exe化したあとでもその外部ファイルが必要なのだとエラーが出てしまいました。

全てを内包してexe化する方法はないのでしょうか。
563名前は開発中のものです。:2007/11/10(土) 23:10:13 ID:Rkru7jD1
今日レジストしました。
サクサクっと指示されままボタンおしてると、本体起動してないのに勝手にレジスト状態になってました。ビックリ。
564名前は開発中のものです。:2007/11/11(日) 00:53:12 ID:dEP/qcYk
え・・・
565名前は開発中のものです。:2007/11/11(日) 00:58:48 ID:PY4Qhhzp
詳しくいうとpaypalで支払って、HTMLで指示にしたがって終了したあと
初起動でレジスト状態でした、ということです。
566名前は開発中のものです。:2007/11/11(日) 07:17:37 ID:Ai+8m8uK
3日前にクレジットカードでGameMaker7を購入し、
「Confirmation - Purchase of Game Maker」というメールが届いたのですが、
ここからどうしたらレジストできるかわかりません。
どうしたら良いのでしょうか。
567名前は開発中のものです。:2007/11/11(日) 12:00:56 ID:oO8sNPsb
>>566
メールにアクチベーションコードが記されていましたか?
されていれば、それを入力することでLite版からPro版にアップグレードできます。

yoyogamesからLite版のgamemakerをダウンロードしてきてインストールし、実行すると
Upgrade to the Pro Edition という画面が出てきます。
[Enter Activation Code]とありますので、そこをクリックします。
(出てきた画面が英語なら、下のほうにlanguageとありますので、日本語に変えることができます)
[新しいライセンスをアクチベーション]の項にいき、必要な情報を入力すると完了です。
568566:2007/11/11(日) 16:52:35 ID:Ai+8m8uK
>>567
コードらしきものは
「Purchase Reference」というものしか記載されていませんでした。
試しにこれを入力しても、はじかれてしまいます。

このメールとは別に、暫く待てば
アクチベーションコードが記載されたメールが来るのでしょうか?
569名前は開発中のものです。:2007/11/11(日) 17:34:56 ID:oO8sNPsb
実は私はver6からアップグレードしたので、7.0の購入手続きはちょっとわからんのです。大して変わらないとは思うのですが。
私のときは、
Thank you for upgrading your copy of gamemaker to version 7. Your new activation code can be found below.
YOY-UPG-XXXXXXXXXXXXXXXX
To use this activation code download and install the Lite edition of Game Maker version 7.0
(if you have not done so already). Run the program.
In the form that pops up select the button "Enter Activation Code".
In the form that appears enter the code and provide your name and further information.
The program will then be upgraded to the Pro edition.
ote that you must be connected to the internet when upgrading the program.

というメールが来て、アクチしたら画面が変わって

Activation Successful

Thank you for activating this title.

License Holder YOY
Purchase Ref 1-UPG-XXXXXXXXXXXXXXXX

という画面が出てきました。XXXXXXXXXXXXXXXXは同じ文字列 でした。
その後OSを再インストールした際再アクチしたことがあるのですが、ReActivationで上記のライセンスで入力したらアクチ成功しました。
Licence HolderはみんなYOYのようです。
あと、これは記憶が曖昧なのですが、Purchase Refのはじめの1-は入力せずにUPG以下から入力したとき成功した気がします。
570名前は開発中のものです。:2007/11/11(日) 18:04:58 ID:oO8sNPsb
後一つ、[Enter Activation Code]で出てくる最初の画面では、
デフォルトでRe-Install Existing Lisence(既存のライセンスを再インストール)となってて、再アクチの入力画面ですので注意してください。
新しいライセンスは、上のActivate New Licence(新しいライセンスをアクチベーション)を選択した後入力してください。
571566:2007/11/11(日) 22:17:10 ID:Ai+8m8uK
569さんありがとうございます。

Dear ******
Please save this email and print a copy for safe-keeping as confirmation that you have purchased Game Maker for $ 20.00
License holder: (自分のメールアドレス)
Purchase Reference: 1-**************(UGPという表記は無し、14数桁の数字・アルファベット)
というメールでした。

英語がわからないなりに、検索して色々調べてみたところ、
GM7を購入すると「1-UPG-16ケタの英数字」が書いてあるメールが来るので、
1をYOYに変えて入力する、との記事があったのですが、
自分のところに来たメールには1-と14ケタの英数字しか書いてありませんでした。
「YOY-UGP-14桁の英数字」で入力しても、はじかれてしまいます。
どなたかわかる方はおられませんでしょうか…。
572名前は開発中のものです。:2007/11/12(月) 00:47:58 ID:SMPr5R3+
状況がちょっと違うようですが、
ある人が一週間ライセンスが届かない、とsoftwrap(ライセンスを管理しているところ)に問い合わせたところ以下のメールが返信された、という例がありました。
URL:http://gmc.yoyogames.com/index.php?showtopic=280090&st=100about:blank

>To re-activate your software, kindly open it once you have installed it and follow the steps below:
>
>- You will need to be connected to the Internet
>- Access the software
>- Select "Re-installation of License" or "Activate License" from the screen that appears
>- Enter your License Holder Name and Purchase Reference Number in the fields provided (if necessary click the tick box which says "Re-install Existing License")
>- The software will automatically reinstall and be activated
>
>You will be pleased to know that we have included your license holder details to proceed with the re-installation. Please copy and paste the details below:
>
>License Holder Name: INSERT (EMAIL ADDRESS) HERE
>Purchase Reference: INSERT (#-##############) HERE
>
>Should you require further assistance, feel free to contact Softwrap Support desk at [email protected]
>

内容を見る限り、Re-install Existing Licence からやるようですね。もしまだ試してないのであれば、試してみてください。
573名前は開発中のものです。:2007/11/12(月) 01:38:54 ID:X/VZL/ZV
空気読まずにすみません
アクションゲームでキャラがダメージを受けたとき一定時間無敵時間を作りたいのですがどのようにすればいいでしょう。
574566:2007/11/12(月) 02:57:08 ID:XPKJHwMR
>>572
わざわざ調べていた様で、ありがとうございました!
その方法で出来ました!
ずっとわからずに困っていたので助かりました。
575名前は開発中のものです。:2007/11/12(月) 09:20:30 ID:zbFXrWjk
>>573
空気は読まなくてもいいが、過去ログは読めよ。
このスレのログだけでもヒントは書いてあるぞ。
576名前は開発中のものです。:2007/11/13(火) 14:48:20 ID:F+NwYmav
非公式の上級者フォーラムにトピック3投稿数13となってるけど、
開いたら何も無いんだけど、見えてないの俺だけ?
577名前は開発中のものです。:2007/11/15(木) 22:49:15 ID:Q3sXVJ6Z
>>575
まぁええではないかええではないか
578名前は開発中のものです。:2007/11/16(金) 17:54:48 ID:UQAwVTd5
床と天井を1つの衝突の処理でできないでしょうか
床と天井のオブジェトを分けたくないのですが。。。
579名前は開発中のものです。:2007/11/16(金) 19:35:38 ID:i1di2c5T
広いroomで操作キャラに追従してゲーム画面に映す範囲が変化するとき、
その時々でゲーム画面に映している範囲の座標を取得する方法はないでしょうか?
操作キャラで座標を取得する場合、roomの端と中央付近では分岐して処理を作るのは手間と余計な負荷がかかるので・・・・・
580名前は開発中のものです。:2007/11/16(金) 20:21:56 ID:g6M8XTDN
>>578
わけなくても出来ます。>>523ででてるplatform(platform_1.gmk)のソースを見て、仕組みをよく理解してみては。

>>579
取得したい情報は、組み込み済みのグローバル変数に定義されていたりします。
>>532のページに、組み込み済みの変数一覧があるから参考にしてみてください。
ビューの位置や幅はグローバル変数で定義されてて、
ver6以降だと、view_xvyew[0..7]、view_yview[0..7]、view_wview[0..7]、view_hview[0..7]で、
ver5.3Aだとview_left[0..7]、view_top[0..7]、view_width[0..7]、view_height[0..7] です。
URL:
ttp://www.wikihouse.com/GameMaker/index.php?%A5%B0%A5%ED%A1%BC%A5%D0%A5%EB%CA%D1%BF%F4%B0%EC%CD%F7
581541:2007/11/17(土) 01:58:15 ID:6kTW/Ms/
すいませんご教授ください。

http://gamdev.org/up/img/10541.zip

ver7 で作成中なのですが、コマの向きと動きについて。
欲を出して動く駒で表現しようとしたら、行き詰まりました。

移動している間は移動モーション(walk_right etc...)を表示し、
動きを止めると立ち(stund)モーションにしたいのですがうまくいきません。
どうしたらいいのでしょうか。
582名前は開発中のものです。:2007/11/17(土) 09:28:38 ID:lq795UNb
change spriteをキーボードイベントでやらない。キーを押し続けている間ずっと入れ替えるから。
key pressイベントとkey releaseイベントのタイミングで、スプライトを入れ替える。

key press <left>
change sprite [left]

key release <left>
change sprite [stand]

key press <right>
change sprite [right]

key release <right>
change sprite [stand]

ちなみに chnage spriteアクションは、各項で次のローカル変数を代入しているだけ。
 sprite : 変数sprite_indexに代入
 subimage : 変数 image_index に代入。 表示するサブイメージ番号(アニメーションのコマ)。0で最初。
 speed : 変数 image_speed に代入。 1ステップで何コマ進むかをあらわすアニメスピード。0.5だと2ステップで1コマ変化する。
583名前は開発中のものです。:2007/11/17(土) 22:59:12 ID:ZhTdG7VC
Move towards a pointをGMLで書くにはどうすればいいんでしょうか
ほかののコードも知りたいのですが
一覧表みたいなのがあれば教えてくださるとうれしいです
584名前は開発中のものです。:2007/11/18(日) 03:52:47 ID:dZTdlxUn
Move towards pointはそのまんまmove_towards_pointだすよ。
ttp://www.blackratstudios.com/games/dnd_to_gml/dnd_to_gml.html
585名前は開発中のものです。:2007/11/18(日) 07:17:44 ID:8No17c3/
イベントの最中ウェイトのように時間をとめたいのですがウェイトを使うと背景やキャラの動きも停止してしまいます
ウェイト以外で時間を止めるにはどのようにすればいいでしょう。
586名前は開発中のものです。:2007/11/18(日) 09:45:04 ID:0g2iccNJ
動かしたくないものをとめて動かしたいのだけ動かす。
そういう仕組みを作るんだよ。コマンド一つじゃあできない。
587名前は開発中のものです。:2007/11/19(月) 18:24:01 ID:Sx6ObIFS
マリオのブロックの様に下から殴れるブロックはどうすれば作れるのでしょうか?
588名前は開発中のものです。:2007/11/19(月) 22:25:53 ID:6rLgo3d8
>>587
if(obj.vspeed >= 0 && (obj.yprevious + obj.sprite_height - 1) > yprevious && place_meeting(x, y-1, obj))
たぶんこれでいけると思います
gml初心者なのでできなかったらごめんなさい

それはそうと俺も質問させてください
/modules/newbb/viewtopic.php?viewmode=flat&topic_id=48&forum=6
を参考に縦に移動する床はできたのですが
横移動する床ができません
自分なりにypreviousをxpreviousに変えたりしたのですが無理でした
教えてくださるとうれしいです
589541:2007/11/19(月) 23:07:23 ID:jkHOQwoD
>>582
ありがとうございます。

ドット絵とか、本当ゲーム作りは難しいですね。
590名前は開発中のものです。:2007/11/20(火) 04:30:47 ID:wcKOJeK1
GM7で、横スクロールアクションを作っています。
ボタンを押して剣を振るようにしたいのですが、
押している間、ずっとマシンガンのように連発してしまいます。
ロックマンX等に出てくるゼロのように単発で出したり
コンボをつなげられるようにしたいです。
GMLは勉強中で、まだあまりわかりませんが、どうしたら良いのでしょうか。
591名前は開発中のものです。:2007/11/20(火) 15:12:19 ID:2h9OV+2N
>>590
keyboardじゃなくkeyPressでやるといいと思うよ!よ!
フォーラムにのってると思うんだけどな・・
592名前は開発中のものです。:2007/11/21(水) 05:25:51 ID:aCno3jIs
http://www6.uploader.jp/dl/kakenn3/kakenn3_uljp00004.zip.html
俺なにつくってんだろ\(^o^)/


これ知ってる人いないよな。。?
593名前は開発中のものです。:2007/11/21(水) 14:46:30 ID:GJ98eRgx
今までスレにでてきた質問とかまとめてみました。曖昧だけどジャンル別にわけてあります。
一部読みにくい部分もあるかと思いますが、参考にしてください。
質問する方は、質問する前に既出のものがないか調べてみてくださいね。
ttp://www.wikihouse.com/GameMaker/index.php?2ch%A5%B9%A5%EC%A4%DE%A4%C8%A4%E1
594名前は開発中のものです。:2007/11/21(水) 21:15:55 ID:o5zLLD5X
上記でもでてきた

・GM7でmbText 1.4.0とjFont Maker 2.2.0を使って日本語表示しようとするとエラーでる

という問題に関して自分の環境でもでました。

WinXP PRO sp2
VRAM32mb
MEM1G
GM7

スプライトサイズを削っていく方法でどのサイズでロードできるか試してみました。
結果、w:320 h:2054 サイズでRunできました。
漢字の京供あたりまで表示できているようですが、

描画するテキスト → 〜∵・・’々”  と表示されました。
595名前は開発中のものです。:2007/11/21(水) 23:05:33 ID:o5zLLD5X
あるオブジェクトが、上昇中はスプライトA下降中はスプライトBで表示したいんですが、
落下する時の表示ができません。

移動する前の地点と移動した後の地点の変数を取得する方法はありますか?
それよりスマートな方法はありますか?
596名前は開発中のものです。:2007/11/21(水) 23:16:25 ID:kronrROz
>>593
乙です。
俺は初代スレを見る事ができないので、
そこでなされたQ&Aが見られる事は有難いことです。

>>595
移動する直前にいた位置を示すxprevious,yprevious、
移動した後の位置(現在の位置)を示すx,yという変数が
デフォルトで存在するので、それらを活用するといい。
597名前は開発中のものです。:2007/11/22(木) 00:12:30 ID:g8wLykso
>>588
横移動する床のうえに乗ったら、一緒に動かしたいってことかな。
自キャラの直下にあるインスタンスを調べて、動く足場だったら一緒に移動させるってことをさせればいいんだけど…
自キャラのステップイベントでこんな感じにしてみては?
必要に応じて、適宜変えてください。
[codeここから]
/* serch_x, serch_y : 調べたい足元の座標 */
/* 実際は自分の都合に合わせて数値を変えること */
serch_x = x;
serch_y = y+16;

ground_id = instance_position(serch_x,serch_y,[横移動する床のオブジェクト名]);
/* ground_id には、足元のインスタンスIDが入る */

if (ground_id <> noone) {
x += ground_id.hspeed; /* もし床が速度で管理されているなら、自キャラに床の水平速度を足し込む事で、一緒に移動しているようになる */
}
[codeここまで]
上記の例だと、 (serch_x,serch_y) 一点だけでしか判定しないから、精度は悪いかもね。
線とか矩形領域で判定したければ、collision_line() とか collision_rectangle() あたりを使用してください。
598名前は開発中のものです。:2007/11/22(木) 00:35:47 ID:UQGy8J0/
>>592
説明書plz!
599名前は開発中のものです。:2007/11/22(木) 00:48:22 ID:xbPHpoIO
>>596
ありがとうございます。
600名前は開発中のものです。:2007/11/22(木) 01:25:56 ID:Z2DrGOi5
>>597
おおでけた\(^o^)/
ありがとうございます

>>598
移動キーで移動
スペースで発射

選択画面ではクリックで武器選んで

見たいなところ押すと始まる
なんてつまらないゲーム\(^o^)/
601名前は開発中のものです。:2007/11/22(木) 16:23:18 ID:xbPHpoIO
>>552
AutoHotkey というソフトで解決できた。
http://lukewarm.s101.xrea.com/index.html

以下のコードを打ち込むとOK

;######### ココカラ #########
#IfWinActive Execute Code
F5::
CoordMode, Mouse, Screen
MouseGetPos,x,y
CoordMode, Mouse, Relative
MouseClick, left, 20, 45
CoordMode, Mouse, Screen
MouseMove, x, y
;######### ココマデ #########

F5キーでOKボタンをクリックする仕様です
602名前は開発中のものです。:2007/11/24(土) 10:47:25 ID:yxZvhkIv
非公式情報ページのアンケートでGM6利用者が圧倒的に多かったから
6をDLしようとしたら公式に前のバージョン落ちてない\(^o^)/
603名前は開発中のものです。:2007/11/24(土) 11:08:07 ID:Ni6Xllr/
yoyogamesは7.0以降しか版権がないからね。
旧公式から前のバージョンを落とせるよ。
ttp://www.gamemaker.nl/old.html
下のほうに旧バージョンの一覧がある。

でも正直、6.xはお勧めしない…。整数でも24bit、およそ1678万弱までしか扱えないのはちょっと。
5.3Aと7.0ではこの問題がおきていない。
604名前は開発中のものです。:2007/11/24(土) 17:08:16 ID:4xZfNBY3
7.0 は、今年の3月リリースからバージョンアップとかの情報ないっすか?

それと、EmEditorの構文ファイルを作ってみたけど需要ある?
605名前は開発中のものです。:2007/11/25(日) 01:48:28 ID:Eof1yOl+
格闘ゲームつくーるのような攻撃モーションの四角い可視当たり判定を作りたくて四苦八苦しています。

1ドットの小妖精を作って、image_xscaleで引き延ばしたオブジェクトを不可視指定。
Drawイベントで同じ大きさのdraw_rectangleを作って表示しています。

もっとシンプルにできますか?


width = 10; height = 10; // 当たり判定の大きさ
atariid = instance_create(x+10,y,obj_atarihantei);
atariid.image_xscale = width;
atariid.image_yscale = height;
if (mode_visible) {
//スプライト指定にすることで可視化
atariid.sprite_index = spr_attack;
}

Draw Event:
draw_rectangle(x,y,x+width,y+height,true) ;
606名前は開発中のものです。:2007/11/25(日) 02:06:45 ID:vBlAV7Zz
Draw Event: 内は削除して、if文のコードを以下のように変更、じゃだめかな
if (mode_visible) {
//スプライト指定にすることで可視化
atariid.sprite_index = spr_attack;
atariid.visible = true;
}
607名前は開発中のものです。:2007/11/25(日) 03:24:21 ID:Eof1yOl+
>>606
それですと、元スプライトが――小妖精から直すの忘れてました――
1ドット絵ですので、□でなくて■で表示されてしまうんです。

元スプライトを□で書いてみたんですが、オブジェクト拡大時
やたらと輪郭のボケた表示になってしまいました。
はっきりとした線(□)で表示したいのです。
608名前は開発中のものです。:2007/11/25(日) 10:01:18 ID:r1aVIhHY
ミックマンすげーな
609名前は開発中のものです。:2007/11/25(日) 11:28:56 ID:qQuswX/z
>>608
俺は昨日遊んでショックを受けたよ…。
gamemakerってもっさりしたゲームしか作れないものだと思ってたから。
610名前は開発中のものです。:2007/11/25(日) 11:47:25 ID:vBlAV7Zz
>>607
枠で表示したかったら、obj_atarihantei の Drawイベントで draw_rectangle() を使って表示するのが一番スマートかな。
塗りつぶされて見えないのが嫌だったんなら、半透明にする手もあるけど。
ローカル変数 image_alpha を0.5ぐらいに設定すれば、半透明になる。
611名前は開発中のものです。:2007/11/25(日) 22:25:10 ID:nQKNJKcw
起動が遅い・・・
GM5.3Aで7.75Mの容量くらい作ったけど起動のローディングが15秒くらいになった
やっぱマシンがへこいとローディング長くなるんでしょうか?

ルームは幅1000高さ700でスプライトは高さ300幅400とか多く、113個くらい作った
まだ音入れてないのに動作確認だけで日が暮れる状態です・・・
ビデオメモリの使用をやめて遅延ロードとか考えた方がいいんで・・・しょうか・・・
612名前は開発中のものです。:2007/11/27(火) 17:29:34 ID:Kfsg319Y
いくつか遅延ロード入れればおk
613名前は開発中のものです。:2007/11/27(火) 22:05:08 ID:o7JCBwEc
ありがd
とりあえず遅延を適当に入れて調整してみる
614名前は開発中のものです。:2007/11/27(火) 22:37:33 ID:03pWBi0H
>>613
ゲームの途中でロードする背景とかスプライトとかを中心にね。
最初から使う奴は入れて
615名前は開発中のものです。:2007/11/28(水) 02:34:13 ID:IKhE5IEH
>>609
あれはスプライトのアニメーションでうまく見せてるんだろうね。
ドット絵を描けない俺としては尊敬するほどに羨ましい。
あれくらいの領域のゲームを作りたいと思って始めたんだがなかなか・・・
616名前は開発中のものです。:2007/11/28(水) 23:22:11 ID:UcC33M+r
教えてください

ver7のグローバルセッティングの翻訳で困ってまして

Let <Esc> en&d the game
&Treat the close button as <Esc> key

ここの翻訳がわかりません。
一行目は、ESC で終了でいいのでしょうが2行目が・・・
どうか教えてください。
617名前は開発中のものです。:2007/11/29(木) 00:46:50 ID:OT5fuA8b
>>616
ヘルプを見ると、
When checked the close button of the window will generate an escape key event. When not checked the close button events are called instead.
→意訳:チェックが入っていると、閉じるボタンで<ESC>キーイベントを発生させます。 チェックをはずすと、代わりに Close Button イベントを発生させます。
とあるから、
『閉じるボタンで <ESC>キーイベントを発生させる』
でいいんじゃないかな。

で、翻訳とは違うんだけど、このClose Button イベントは、Win32API?の WM_CLOSE とは違うことに注意。
不用意に Treat the close button as <ESC> key のチェックをはずすと、×ボタンで終了しなくなる。(Alt-F4も効かないっぽい)
ゲーム内で Close Button イベントを拾って、End the game アクションを定義しておけばいいんだけど・・・。

ESCキーで終了させずに×ボタンで終了させたい場合は、次のようにするべし。(7.0 only)
・Global Settings の、[Let <Esc> end the game] のチェックをはずし、[Treat the close button as <Esc> key] のチェックもはずす。
・ゲーム中ずっと存在するオブジェクトとかで、Close Button イベントを定義し、そこで End the Game アクションを起こす。
618名前は開発中のものです。:2007/11/29(木) 01:07:06 ID:2O8VJSxX
>>617
おぉ、ありがとうございます。

E-WordChanger2000で変換がきかないところが多々ありますね。
619名前は開発中のものです。:2007/11/30(金) 16:26:11 ID:JpK40a/w
E-WORD2000 での辞書ファイルです。

当分時間作れなくなりました。
翻訳引き継いでくれる方希望。

http://gamdev.org/up/img/10638.zip
620名前は開発中のものです。:2007/11/30(金) 16:27:29 ID:JpK40a/w
E-WordChanger2000でした
621名前は開発中のものです。:2007/12/01(土) 00:20:12 ID:do+f7uIl
>>619
全然翻訳できてねーじゃねーかwwww
俺も今同じく翻訳中だけど、あれなんだよな、有料版の部分の翻訳が出来ないorz
それと、ボタンが文字化ける
冒頭のアクティベート部分も化ける
文字化けさえ克服できれば後一歩なんだが
622名前は開発中のものです。:2007/12/01(土) 01:05:45 ID:NJujLxPi
>>621
未レジストって事?
俺レジストしてるよ。
物ちょうだい。
623名前は開発中のものです。:2007/12/01(土) 02:19:17 ID:do+f7uIl
時間がなくなったと、途中で放棄して、他人に丸投げするかと思えば
すぐさま、他人の手柄を丸々よこせと言ってみたりする
624名前は開発中のものです。:2007/12/01(土) 02:38:10 ID:NJujLxPi
寄越せといってみたりしたが別人だ
625名前は開発中のものです。:2007/12/01(土) 02:47:00 ID:2L8kwVBd
>>623
共有してくれる意志があるならしてもらえると助かるな。
626名前は開発中のものです。:2007/12/01(土) 03:02:43 ID:2L8kwVBd
と思ったけど自由意志だな。
すまない、今のは忘れてくれ。
627名前は開発中のものです。:2007/12/01(土) 03:09:01 ID:NJujLxPi
620でてこいよ疑われてるぞ
628名前は開発中のものです。:2007/12/01(土) 03:15:52 ID:NJujLxPi
氏ね!111!!11
うpる気ないなら初めから書くなバーカ!!!!
どーせろくなもん作ってないんだろwwwww
629名前は開発中のものです。:2007/12/01(土) 03:18:38 ID:NJujLxPi
>>626
何が自由意志だ! 格好良いとおもってんのかよ(プ
早くクソして寝ろwwwwwwwwwww
630名前は開発中のものです。:2007/12/01(土) 03:44:02 ID:do+f7uIl
初めから、誰もうpするなんて言ってない件
つーか、>>625になら渡してもいいけど
でも本当は完成してからうpしたいな
631名前は開発中のものです。:2007/12/01(土) 03:44:02 ID:NJujLxPi
ごめんなさい日本語ください
間違えられたのが悔しかったんだ
抜いたら落ち着いた
632名前は開発中のものです。:2007/12/01(土) 03:44:37 ID:do+f7uIl
>>631Vipへカエレ
633名前は開発中のものです。:2007/12/01(土) 03:45:45 ID:NJujLxPi
オマエモナー 


く、悔しくないからな
634名前は開発中のものです。:2007/12/01(土) 03:47:07 ID:p7Hahl+U
今度はGameMakerスレで沸いてるのか。
前はツクールスレだったな。
635名前は開発中のものです。:2007/12/02(日) 03:21:15 ID:RfbAwBK6
質問です。

ボタン押下時に instance_createで作成したオブジェクトをキャラクターに追従させるにはどうしたらいいのでしょうか?

my_copy_id = instance_create(x-20, y-20, obj_my_copy);

でやっているのですが、その場所で留まっています。
636名前は開発中のものです。:2007/12/02(日) 03:26:46 ID:RfbAwBK6
忘れていました。

その作成したオブジェクトは、シューティングのオプションでしてキャラの周り(1つめは上、2つ目は下)という風に出現場所を変えたいのです。
637名前は開発中のものです。:2007/12/02(日) 03:42:50 ID:4Kr9+zdR
>>635
obj_my_copy が追従したいオブジェクト(obj_mychara とする) のインスタンスがルーム内に一つしかないなら、
obj_my_copy の step イベントで Var アクション を追加し、

variable : x
value : obj_mychara.x

もう一つ、

variable : y
value : obj_mychara.y-20

上記はキャラの上に配置されるようになる例。数値適当にかえてくれ。
638名前は開発中のものです。:2007/12/02(日) 04:42:57 ID:4Kr9+zdR
あっと、よく読んでなかった。
オプションは複数置きたいけど、すべて同じオブジェクトにしたいってこと?そういう場合は、インスタンスによって配置を変えないとね。
上記の obj_my_copy の step イベントで追加した Var アクションのところを、

variable : x
value : obj_mychara.x+optx
variable : y
value : obj_mychara.y+opty

とかに変えて、ボタン押下時に instance_create()したときに、

my_copy_id = instance_create(x, y, obj_my_copy);
my_copy_id.optx = 20;
my_copy_id.opty = 0;

とかすると、右側に出る、とかできる。if文で適当に条件分岐させて、optx と opty の値を決めればいい。
639名前は開発中のものです。:2007/12/02(日) 05:25:36 ID:4Kr9+zdR
それはそうと、>>601 のアイディアを元に、
>>552 の要望にこたえられそうなAutoHotKey のショートカットマクロが出来た。
Execute Code ウィンドウでも、 Script Properties ウィンドウでも、即確定して閉じる。
http://gamdev.org/up/img/10645.zip

デフォルトでは Ctrl+W でウィンドウを閉じるようになってます。。
ファイル内の ^w:: を適当に変えることでキーカスタマイズ出来ます。
autohotkey.ini に追加するなりして利用してください。

・・・もう5時半かorz  おやすみなさい
640名前は開発中のものです。:2007/12/02(日) 05:59:41 ID:RfbAwBK6
>>638
その記述でうまく予定通りの動作にすることができました。
ありがとうございました。

遅くまでお疲れ様でした。
お休みなさい。
641名前は開発中のものです。:2007/12/04(火) 16:21:12 ID:lZt/Vorp
ボタン連打による連続攻撃の判定をうまく組めないや。

if文でattack+=1によるatack何回目かで表示かえてるけど
モーションの途中で次のモーションに変わるんだよね。(当然だけど

1回目のモーション中に押した判定があった時に、
2回目のモーションに移行したい。

ヒント教えてください
642名前は開発中のものです。:2007/12/04(火) 18:30:38 ID:QsBWBjou
ダメージを食らった時無敵時間を作りたいんですが
「ヘルスが1以上減ったとき」というのはどう設定すればいいのでしょうか
643名前は開発中のものです。:2007/12/04(火) 21:57:57 ID:lZt/Vorp
>>642
俺も初心者だけど浮かんだので書いてみる。

・ステップ開始イベントで、現在のヘルスを変数(たとえば、henka_health)に格納
・ステップ終了イベントで、現在のヘルスとhenka_healthを比較
1以上変化があれば、無敵時間突入

という風にやるとかどう?
644名前は開発中のものです。:2007/12/04(火) 22:08:42 ID:lZt/Vorp
>>641

アニメーションが終わった時のイベントが End of animation というのは解ってるんだけど、
アニメーション中にatack(があったかの)変数を使って、
もしあれば次のモーションに移る。

って感じの「モーション中に何かあったか」を調べるGMLって何かある?
645名前は開発中のものです。:2007/12/04(火) 22:31:07 ID:OLWlECNF
>>642
プレイヤーのヘルスを減らすスクリプトっていうのを作っておいて、
ダメージを与える時には必ずそのスクリプトを呼ぶようにする。
で、何か処理を追加したい時にはそのスクリプトに追加する。
ってやり方もあるよ。

>>644
アニメーション開始時に適当な変数を0に設定して
何かアクションがあったら変数を1に変える
アニメーション終了イベントで変数が1かどうかチェック
でどうかな。
646名前は開発中のものです。:2007/12/04(火) 22:41:58 ID:lZt/Vorp
>>645
連続攻撃にしたいんだ。それだと1・・・ ん?
1回目に atack=1 二回目に atack=2 ...
として、終了イベントで ってあれー?

うん、ありがと、何か閃きそうだ。頑張ってみる。
647名前は開発中のものです。:2007/12/04(火) 22:43:28 ID:NwDfsPPB
遅かったかも試練が、書いたので置いとく。

>>644
キープレスイベントかなんかで、イベントを拾えばいいんでないの?

>>641
zキーで攻撃するとして、
key press <z>
...
switch (attack) {
 case 0: // 1発目
 // ここにモーションを発動させる何かを書く。
 attack += 1
 break;

 case 1: // 2発目
 // ここにモーションを発動させる何かを書く。
 attack += 1;
 break;
// ...
}
...
モーションは、タイムラインで設定すればいいとおも。
もしくは、ステップイベントでモーションを設定してる自作スクリプトを呼び出す、のもアリかなぁ
例えば引数を、attackとモーションが始まってから経過したステップ数にして、
attackでモーションの種類を場合わけをして、
経過ステップ数でそれに応じた移動をさせたり、アニメーションさせたり、キー入力の可否を設定したり、等々...
ま、それだとタイムラインとあまり変わらんのだが。
648名前は開発中のものです。:2007/12/04(火) 23:05:42 ID:lZt/Vorp
>>647
thx
caseもやってみたけど、イメージ通りとはいかなかった。
(俺のやりかたが悪いのか

イメージとしては、モーションが終わらないと次のモーションが始まらないって事なんだけど、
どうしても、モーション途中でボタン押すと、モーション途中で放棄して新しいモーションが
始まるんだ。
649名前は開発中のものです。:2007/12/04(火) 23:10:18 ID:lZt/Vorp
一定時間内(連続二回とか)に同じキーが押されるって判断は、
タイムライン?とかアラームで判断させたほうが良い?(これもイマイチうまくいってない

これができるとダッシュ判定とかできそうなんだよな。 うーん。
650名前は開発中のものです。:2007/12/04(火) 23:16:11 ID:NwDfsPPB
>>648
あ、動作キャンセルじゃないのか。上の例は、動作キャンセルっす・・・。
となると、俺だったらモーション中は攻撃キーの入力を無視するような仕組みを作るなぁ。
キー入力可否を表す変数(ableAttack)を一つ用意して、
if (ableAttack) {
 switch (attack) {
  // ここは>>647と同じ感じで...
 }
}
こんなかんじで。モーションが終わったら、連続攻撃入力受け待ち期間になって、
次の攻撃キーの入力があったら、連続攻撃発動(attack が +1されてく)。
この期間はアラームで管理するといいかもね。
で、連続攻撃受け待ち期間も終了したら attack を 0 にもどす。
そんなイメージが沸いた。
651名前は開発中のものです。:2007/12/04(火) 23:33:22 ID:lZt/Vorp
>>650
thx
うーん、それだと小パンチ連続みたいな感じができないんだよね。
何カウントか待たないといけなくならない? というか成った。
モーション中にもっかい押されると連続攻撃発生みたいにしたい。

少し落ち着いてくる。
652名前は開発中のものです。:2007/12/05(水) 02:09:27 ID:DyBIMWNQ
格闘ゲームの必殺技みたいにカーソルキーの入力待ちはどうすればできますか?

「↓・斜め→・右+A」のようなコマンドです。
653名前は開発中のものです。:2007/12/06(木) 00:37:05 ID:ipO1poTD
連続攻撃判定うまくいかなーいorz
654名前は開発中のものです。:2007/12/06(木) 22:57:30 ID:g7KZCqa1
はじめましてこんばんわ。
最近gamemakerにはまりだした、新人です。
2D横スクロールゲームを作ろうと思って>>305さんのサンプルを参考にさせてもらい、
ちょくちょく進めてるんですが、途中で詰まってしまって、原因を探ろうにも
全くわかりません。どなたかご教授お願いします。

ttp://tonosiki.mbnsk.net/uploader/src/up6820.rar

←→キー;左右移動
Zキー;ジャンプ
Xキー;パンチ

エラー:
パンチを数回使うと、keyXで変数panchが見つからないとエラー表示される
また、移動しながらパンチをしてもkeyleftまたはkeyrightで変数panchが見つからないと
表示される。

途中、命令をコメント文で囲っていますが、気にしないでください。
655名前は開発中のものです。:2007/12/06(木) 23:41:29 ID:x5GKX6Js
動きのあるオブジェクトを動きのあるオブジェクトにチェンジすると
スプライトが1から表示されない時があるのですが解消方法はありますか?
656名前は開発中のものです。:2007/12/07(金) 00:45:55 ID:4eA37li8
上のほうで言っていた翻訳の奴あげてホスィ
paypalで1000円までなら支払ってもイイ
657名前は開発中のものです。:2007/12/07(金) 00:58:23 ID:+n/vdyUz
>>654
見たところ、unkown variable というエラーがでるような記述ではないと思います。
そこで、unknown variable gamemaker bug というキーワードでググったところ、
海外のフォーラムに、ごく稀にそのようなことが起こる、との書き込みがありました。
ttp://gmc.yoyogames.com/lofiversion/index.php/t300055.html
下から2番目に Alert Games という人が答えています。
どうやら、プロジェクトをセーブする際にバグがあるのかもしれない、といっていました。
その人はバックアップファイルで元に戻すことを勧めていますが、
私のほうで obj_main オブジェクトを丸ごと duplicate して(右クリックでできます) 再度ためしたところ、unknown variable のエラー表示はなくなりました。
こんなことが起こるんですねぇ・・・。

658名前は開発中のものです。:2007/12/07(金) 02:06:08 ID:4eA37li8
態度が悪いといって怒られるかも知れませんが助けてください

キャラをスト3の豪鬼の必殺技みたいに、横にすべりながら攻撃する時に、思い通りに動かない。
Xポジションを変えると瞬間移動みたいになったり、
move_towards_point使うと、ずっと移動しつづけたり・・・

3キャラ分横に移動させて止めるって方法教えてください
659名前は開発中のものです。:2007/12/07(金) 02:26:02 ID:+n/vdyUz
態度というか、結果だけを求める質問をされても、
前提となる部分が何もないと回答が無数にあるため、答えようがないというのが正直なところでして。
前提となる部分を回答する人が想像して答えようとしても、えらい長くなるから面倒だしスルーってなりやすいですし。
(というか、1から作るやり方をいうようなもんですし)
こうやってるんだけどうまくいかない等、詳しい情報がないと手助けしてくれる人の可能性が低くなりやすいですよ。どうしようもないのが本音です。
660名前は開発中のものです。:2007/12/07(金) 02:40:14 ID:4eA37li8
ふぎゃΣ

ええっと、前提となる部分・・・
2D格闘ゲームを作ってまして、立ち状態から
ボタンc(必殺技ボタン)を押したら、パワー消費して(これはOK)
立ち絵から、sprite(spr_special_wazaA ; サブイメージ数20)
に変化させて、キャラを右方向ゆるやかに移動させたいんですが、

if keyboard_check_pressed(ord('C')) {
 sprite_index = spr_special_wazaA ;

 image_index = 0 ;

 image_speed = 1 ;
 x += 10 ; //←ここで移動を書こうとしている
}
こうすると、右に10ほど瞬間移動したみたいにコマ飛びして表示されます。
for でやってみても一緒でしたし、move_towards_pointすると地面となる
オブジェクトと接触してる間はちょっしか移動しないし、ジャンプとかすると
そのまま画面の端まで移動しちゃうんですよね。

ゆっくり移動して目的の場所でピタっと止める方法はありますか?
661654:2007/12/07(金) 07:17:58 ID:MOpCkhcY
>>657
わざわざ、調べていただいて、さらに海外フォーラムまで言っていただいて
ありがとうございます。

エラー表示が消えました。ありがとうございましたm(_ _)m
662名前は開発中のものです。:2007/12/07(金) 22:00:35 ID:3R22D1pU
>>660
1stepごとに少しずつ移動させたければ、ステップごとに細かく移動させないといかんのよ。
何ステップでどれくらい移動するかあらかじめ決めて、
移動するステップ数(変数名 move_cnt)と1stepで移動する移動量(変数名 dx)を計算しておく。
で、ステップイベントで、
if (move_cnt>0) {
 x += dx; //x 方向にdxだけ移動する
 move_cnt -= 1; // 移動カウントを一つ減らす
}
こんな感じにすると少しずつ移動する。面倒だけど、仕方ない。
横移動制御には hspeed を利用する方法もあるけどね。
技発動したときに、move_cnt と dx (とスプライト(sprite_index)とアニメーションスピード(image_speed))を決めてあげればいいんじゃないかなぁ。
なお、for文は1step内で繰り返し終了まで処理することになるので、上のような意味にはならない。
技発動中に操作させたくなければ、キー入力を拾う部分でそういうフラグも設けること。
663名前は開発中のものです。:2007/12/08(土) 02:21:58 ID:HAW715W6
>>662
ものすごく死角から攻撃されたような衝撃です。
明日試して見ます。

そして新たに質問なんですけど、draw_sprite_stretchedでスプライトを下記の方法で表示すると一瞬で消えてしまうんですが、何が問題なのでしょう?

//X(攻撃)ボタン
if keyboard_check_pressed(ord('X')) {
 attack = 1; ren += 1 ;

 if ren == 1 {
  if !muki_chk{ sprite_index = x1_r; }else{ sprite_index = x1_l; }
  image_index = 0 ; image_speed = 1 ;
  draw_sprite_stretched(spr_attack,0,x+10,y-20,50,20);
 }else if ren == 2 {
  if !muki_chk{ sprite_index = x2_r; }else{ sprite_index = x2_l; }
  image_index = 0 ; image_speed = 1 ;
  draw_sprite_stretched(spr_attack,0,x+10,y-20,30,40);
 }
}
664名前は開発中のものです。:2007/12/08(土) 07:47:24 ID:qBb/GgCE
>>663
draw系の関数はdrawイベント中にしか効果がないよ。
画面に描画する機能なんだけど、drawイベントに入った最初に背景色や背景画像で全体を描画してしまうので、描いても消されてしまう。

スプライトを拡大表示させたければ、image_xscale image_yscale という変数で指定できる。
どうしても、キャラスプライトとは他に描画したいものがあるなら draw イベントで描画関数で描こう。
ただし、draw イベントに処理を施すと、自身のキャラ(sprite_index のスプライト)が自動で描画されなくなるので、忘れずに描画させよう。
665名前は開発中のものです。:2007/12/08(土) 18:34:14 ID:HAW715W6
>>664
ありがとうございます。

あ、すいません、これはdrawイベントに書いてます。
なのに一瞬で消えてしまうからナンダロウなーと。
深度を指定して試してみるっす。
666名前は開発中のものです。:2007/12/08(土) 20:46:46 ID:Cn07bZV4
draw_sprite_stretchedが
if keyboard_check_pressed(ord('X')) {
}
の内側にあるから、キーを押した瞬間しか
描画されないんじゃないかな
667名前は開発中のものです。:2007/12/08(土) 21:00:01 ID:HAW715W6
深度変えてもダメだった。
が、今の問題とは関係ないけどobject_set_depth(ind,depth)って、どこで宣言してもいいのかな?
(最後の方にでてくるオブジェクトで、最初のほうにでてくるオブジェクトの深度変えるとか)
心配だから、ルームに必ずおくオブジェクトに設定してるけど。

>>666
なるほど!
では、タイマーイベントで試してみます。
668名前は開発中のものです。:2007/12/08(土) 21:06:20 ID:HAW715W6
ってダメだ。 drawイベントじゃなくなるorz

表示時間のばすか、消えないままにする方法ってないですか。
669名前は開発中のものです。:2007/12/08(土) 21:38:56 ID:Cn07bZV4
if文の外に出すんだ
670名前は開発中のものです。:2007/12/08(土) 21:47:16 ID:HAW715W6
攻撃回数でサイズを変えたいんでそれは・・・

って、そのための変数だ!
if文の中で数字を変数に入れて下のほうで宣言すればいいんだ。
やってみます。
671名前は開発中のものです。:2007/12/08(土) 22:00:33 ID:HAW715W6
・・・そもそも攻撃した時だけ表示したいんだからダメか。

画面外に表示しておいて、攻撃時(x-key press)時だけ
目的の場所に移動させるという方法にしてみる。
他に良い手がありましたら教えてください。
672名前は開発中のものです。:2007/12/10(月) 15:28:56 ID:ey1ac3Xs
>>671
何を表示したいのかいまいちイメージできないけど・・・・・別に1つのオブジェクトで処理してしまおうとしなくてもいいんでないかい?
表示用のオブジェクトを作成しておいて、アラームイベント2つ作成し1つ目にDestroy the instanceアクション(インスタンス破棄)を登録
2つ目に1つ目のアラームを起動させる記述をする。生成イベントでアラームイベントの待機時間用変数を宣言しておく
if keyboard_check_pressed(ord('X'))のブロック内のどこかでこの表示用オブジェクトを生成してやるとともにさっきのアラームイベントのタイマーセットを書き込んでやれば
このタイマーセットの間だけ表示されると思う。以下こんな感じのGML書いたらっていう案(表示オブジェ:obj_Disp 待機時間用変数:IntervalSet アラームイベントを1と2で設定したとする)
if keyboard_check_pressed(ord('X')){
//攻撃とか動作とかをずらずら記述してあるかと・・・
//-----------------
//ここより表示用オブジェ生成
var DispObjID;
DispObjID = instance_create(self.x, self.y, obj_Disp);//例として自分の原点に表示用オブジェのインスタンスを生成
DispObjID.IntervalSet = room_speed * 3;//例として3秒間表示
}
673672:2007/12/10(月) 15:45:44 ID:ey1ac3Xs
上の続き
○obj_Dispの生成イベント
var IntervalSet; //待機時間用変数の宣言
alarm[2] = 1; //破棄用アラームイベントを1ステップ後起動させるアラーム2を起動

○obj_Dispのアラーム2イベント
alarm[1] = IntervalSet;//破棄用アラームイベント起動

○obj_Dispのアラーム1イベント
>>672の記述どおりDestroy the instanceアクションをセットし、自分自身(obj_Disp)を破棄する

後はobj_Dispの描画イベントにあなたが思ってる表示をさせる記述をもりもり書き込もう
実際試してないけど>>672は似たような事してるので多分大丈夫だとおもうよ?
674672:2007/12/10(月) 16:18:53 ID:ey1ac3Xs
すまない、書き込んだ矢先に的外れなような気がしてきた。でもなんで描画イベントなの?
675名前は開発中のものです。:2007/12/10(月) 21:07:39 ID:hgs58Ul1
>>672-674
どんぴしゃで目的の動作にできた!! マジありがとー!!

格闘ゲー+α(ファイナルファイトみたいな)の作成中、
どうしても汎用的な当たり判定枠を作りたくてやってたんだけど
すぐに消えるわ表示されないわで困ってた。

必殺技で自分の分身をつくってソイツに殴らせるのをやりたかった。
(コイツにのみ当たり判定有り)
で、ぶわーっと前にまっすぐ飛ばしたりもしたかった。

一応アラームも使ってデストロイ指定してたんだけど、
連続攻撃すると分身が画面に残ったりしてた。
(animation end でデストロイ指定+表示から秒単位でデストロイ)

言われた方法でやったら、連続攻撃してもキレイに消えてくれて
なんかもう、やっとムチ振りアクションに取りかかれるッス。ありがとー!
676名前は開発中のものです。:2007/12/10(月) 21:08:47 ID:hgs58Ul1
あ、描画イベントなのは draw_うんちゃらでしか表示する方法を知らないからでした。
677名前は開発中のものです。:2007/12/11(火) 00:16:53 ID:QXoJ6Zco
すいません、GML初心者です。

if relative position (4,0) is collision free for Only solid objects
 move relative to position (4,0)
else

 if relative position (4,-8) is collision free for Only solid objects

 move relative to position (4,-8)

 move in direction 270 at most 8 till a contact with solid objects

と、ある場合GMLで記述するにはどうすれば良いのでしょうか。教えてください。
678名前は開発中のものです。:2007/12/11(火) 11:20:53 ID:LOC5oPUm
>>677
たぶん、こう。
if (place_free(x+4, y)) {
 x += 4;
} else if (place_free(x+4, y-8)) {
 x += 4;
 y += -8; // y -= 8; でもいい
 move_contact_solid(270, 8);
}
679672:2007/12/11(火) 18:12:40 ID:1veI1+hN
>>675
ぉ!できましたか。成功してよかったです。
ところで>>667のobject_set_depth(ind,depth)ですが、その使い方だとNGかと思われます。
平たくいえばオブジェクト=設計図、インスタンス=オブジェクトのコピーであり、F5,F6でデバックした時や実行ファイルで実際に表示されているものはインスタンスです。
object_set_なんちゃら()の関数はオブジェクトリソースを直接変更しにいく関数なので、ヘルプの冒頭に説明されているとおり、すでにオブジェクトのインスタンスが
生成されている場合インスタンスにオブジェクトのプロパティが格納されていて予期せぬ効果を引き起こす可能性があります。
深度を変えたい場合はインスタンスidを直接さして個々に変更するのが常套手段かと思います。>>672のobj_dispを使って説明すると
var DispObjID;//インスタンスidを保存する変数
DispObjID = instance_create(self.x, self.y, obj_Disp);//インスタンス生成instance_create()は返り値にインスタンスidを出力する
DispObjID.depth += 2;//例として設定されている深度より2奥に設定変更
こういった感じでしょうか。ヘルプによく書かれている引数のindはよく読まないと、インスタンスなのか、オブジェクトなのか、スプライトなのか混同してしまうことが
あるのでそこらへんを意識してないと「インスタンスが表示されない」+構文も間違えてないので「エラー表示がない」とかいうことになります。
自分も実際しょっちゅうやらかしてます・・・orz
680名前は開発中のものです。:2007/12/11(火) 18:31:50 ID:QXoJ6Zco
>>678
ありがとうございます。

このようなアクションをGMLに対応する一覧みたいなものは無いのでしょうか。
681名前は開発中のものです。:2007/12/12(水) 19:32:20 ID:I7CK0gCA
>>680
>584にV6用のがリンクしてあるけど
他のバージョンのが欲しかったら本家フォーラムから
ttp://gmc.yoyogames.com/index.php?showtopic=334704
682名前は開発中のものです。:2007/12/12(水) 19:50:15 ID:Bw7drWJW
>>681
ありがとうございます。
v7はあるようですが、v6はないようですね。
683名前は開発中のものです。:2007/12/12(水) 19:51:08 ID:Bw7drWJW
すいませんありました。
数字のないほうがv6でした。
684名前は開発中のものです。:2007/12/13(木) 19:56:55 ID:mOWLOq6S
ボタンを押すと動きのあるスプライトにチェンジするようにしたのですが
チェンジの時たまに1から順にスプライトが再生されません。
何が原因でしょうか。
685名前は開発中のものです。:2007/12/13(木) 21:33:32 ID:9VWX8wY5
スプライトの表示番号を 0 にしてないんじゃない?
change sprite アクションなら、subimage ていう箇所があるからそこで設定する。
GMLなら
sprite_index = 変更したいスプライト名;
image_index = 0;
てな感じで。
686名前は開発中のものです。:2007/12/13(木) 22:50:14 ID:mOWLOq6S
全て0にしているんですがたまに動きがおかしいと思ったら5あたりから再生されてるみたいなので・・・
687名前は開発中のものです。:2007/12/15(土) 12:14:12 ID:CVKb7N91
FAQにあるヘルスを二つ表示する方法がいまいち分からないのですが詳しく教えていただけないでしょうか。
688名前は開発中のものです。:2007/12/16(日) 13:32:59 ID:MjHgc/J/
「現在のビューに映っている敵をすべて破壊する」
というような技を作りたいのですがどのように設定すればいいのでしょうか?
689名前は開発中のものです。:2007/12/16(日) 21:34:56 ID:khbOK2Jz
>>688
テンプレのリンクからヘルプを拾ってきて with の項目を参照すると目的の動作ができると思う。
690名前は開発中のものです。:2007/12/17(月) 00:13:47 ID:SSdNo8vA
ボタンを押したとき400後ろ(x:-400)に何もない時そこにワープ、そこにsolidオブジェクトがあるときは何もおきないという風に
できるようにしたいのですがif a position is collision freeを使ってもうまくいきません
どう設定したらいいでしょう
691名前は開発中のものです。:2007/12/17(月) 00:34:29 ID:d4jiuAy+
>>690
relativeにチェック入ってる?

if a position is collision free (x:-400 relative:check)
Jump to a given position (x:-400 relative:check)
692名前は開発中のものです。:2007/12/17(月) 00:58:48 ID:1bZl34aq
OCNから書き込めないので、携帯から失礼します。
GM7でアクションゲームを作っているのですが、
攻撃に設定したキーを一回押すと、離しても延々と攻撃が出続けてしまいます。
GMのフォーラムやここの質問で key_pressedイベントを使うと良いと書いてあったのですが
それを使っても攻撃が止まず上手くいきません。
単発で出したいのですがどうしたらいいのでしょうか。

どなたか解る方がいらっしゃいましたらご教授下さい。
文章だけではわかりにくいかもしれないのでソースをあげておきます。

http://www.uploadjar.com/818021
693名前は開発中のものです。:2007/12/17(月) 01:11:36 ID:d4jiuAy+
>>692
・その状態だと、Left(Right)を押したら rol に変数が入る。
・zを押したら、向きがLeftの場合、攻撃スプライト(左)を表示する。

で終わってる状態です。
Key Release <Left> に Set variable rol to 0
Key Release <Right> に Set variable rol to 0
をそれぞれ追加してください。
694名前は開発中のものです。:2007/12/17(月) 01:14:21 ID:d4jiuAy+
>>693
違いました。
忘れてください
695名前は開発中のものです。:2007/12/17(月) 01:46:13 ID:d4jiuAy+
>>692
・・・恥ずかしい間違いしたので問題の箇所の例として加修正してます。

http://www.uploadjar.com/158405
696名前は開発中のものです。:2007/12/17(月) 04:52:03 ID:1bZl34aq
>695
とても早いレス、ありがとうございます!
自在に攻撃が出来るようになり、左右移動まで作って頂いてとても嬉しいです。
本当にありがとうございました!
697名前は開発中のものです。:2007/12/18(火) 14:25:36 ID:KuzWpsao
下および横からはすり抜け可能で、
上からは着地可能、
かつ着地後下キーを押すと下へすり抜けられるブロックを、
Solidを外さず、かつブロック側の処理で実現したいのですが、
どうすれば良いでしょうか?

Solidを外すと、その他の判定処理で不具合が生じるので、
なるべくSolidのままで作りたいのです。
また、同時に4人のキャラクターを操作するため、
下キーを押している間と上昇中は非Solidにするという方法は使えません。
698名前は開発中のものです。:2007/12/18(火) 16:44:34 ID:N2pESpOe
ttp://gamdev.org/up/img/10723.zip

GM6でマリオの様なアクションゲームを作っており、乗ると落下するブロックを作ってみました。
が、普通のブロックから落下するブロックに空中移動無しで触れても落下せず、ブロックの上でジャンプしなくては落下しないのです。
原因もあまり解らずどうすれば良いのか解りません。ご教授お願いします。
699名前は開発中のものです。:2007/12/18(火) 19:47:28 ID:u37r1wue
>>698
歩いて落ちる床の上に来た場合は接触状態になっているんだが、これはコリジョンとは違うんだ。
だから、コリジョンイベントとは別に、プレイヤーと落ちる床との接触状態を調べて、条件を満たしたら床を落とす、様なことをしなきゃならん。
で、調べる方法だけど、アクションアイコンだとこれは無理。だと思う。
プレイヤのステップイベントに execute code を追加して、以下のように記述。
※空白は全角なので、コピペするなら半角に直すこと。

var id_floor; /*id_floor を、execute code 内だけ有効な変数とする */

id_floor = instance_place(x,y+1, object228);
/* instance_place()でプレイヤの直下に、object228 (落ちる床)が存在するかどうかしらべている */
/* もしプレイヤの下にobject228が存在したら、 id_floor にそのインスタンスID が代入される。 そうでなければ、 noone という値が入る */

if (id_floor != noone) {
 if (id_floor.isDrop == false) { /* このif文を付けないと、接触中常にalam[0]が10になってしまうので、必ずこの条件を入れること。 */
  id_floor.alarm[0] = 10; /* floor_id に対して、10ステップ後にアラーム0(落ちる動作)が発動するようにする */
  id_floor.isDrop = true;
 }
}
変数isDropで落ちるフラグを判定している。
これがないと、alarm[0]が接触中は常に10になってしまうんで、乗っている間落ちないことになってしまう。
変数isDropを使うことになったんで、初期化が必要。落ちる床の create イベントにvarアクションを追加、variable: isDrop、value: falseとする。
さらに、落ちる床のobj_redとのコリジョンイベント中に、varアクションを追加し、variable: isDrop、 value: true とする。
あと、コリジョンイベント中にある set vert.speed アクションは削除、でいいとおもう。
700名前は開発中のものです。:2007/12/18(火) 21:18:56 ID:u37r1wue
>>697
考えてみたんだが、結構無茶な要求・・・。
なぜなら、solidの仕様は、コリジョンイベントの前後で、2つのインスタンス間で絶対に「めり込み状態」を認めないような仕様になっているから。
solid なインスタンスとのコリジョンイベントは、以下のような流れになる。()内は solid の時だけ処理される。

[コリジョンイベント]
    ↓
(お互いのインスタンスが直前ステップの位置に戻される)
    ↓
[コリジョンイベントのアクション]
    ↓
(speed,gravity等でインスタンスの位置を調整後、お互いがコリジョンを起こしていたら、やはり直前ステップの位置に戻される)
    ↓
[end step イベント]

なもんで、その床とキャラとのコリジョンイベントでアクションを起こさないほうがよい。
てことになると、solidの意義が薄れることになるが・・・。
どうしてもコリジョンイベントも定義したいなら、コリジョンイベント中で xprevious yprevious を自前で変更してしまうか、
end step で通過可能にする処理を書くとかするしかない。いずれも、かなり面倒になりそう・・・。
それよりも、着地の処理をコリジョンイベントに頼らない方法で着地させ、
その床との接触中に下を押すと gravity を発生させ、
通過中はgravityを0にしないような処理を
キャラ側のステップイベントとかで記述するようにするようにしてみてはどうかな・・・?わかりにくかったらごめん。
701名前は開発中のものです。:2007/12/18(火) 22:58:45 ID:RkfysYSU
solidは融通が利かないから
すり抜け床には使えないな。
702697:2007/12/19(水) 00:13:09 ID:SlaPK2id
うーん、どうやら無理のようですかね。
なんとか工夫してみようと思います。
703名前は開発中のものです。:2007/12/19(水) 16:31:31 ID:8LUQdUPx
>>702
サンプルデキタ。 solid だとやはり面倒だったんで、solid じゃないやつだけど、参考になれば。
ttp://www.uploadjar.com/133957
704697:2007/12/19(水) 18:35:50 ID:SlaPK2id
ありがとうございます。
うーむ。やはりキャラ側で処理した方が良いのか・・・。
頑張ってみます。
705名前は開発中のものです。:2007/12/19(水) 21:55:33 ID:+fFhIeoE
>>704
キャラ側で指定する時に都合が悪くなければ、
壁用判定オブジェクトを作り、
全キャラにそれを親指定するというのはどうだろう?
706名前は開発中のものです。:2007/12/20(木) 04:58:53 ID:Tb+MgVar
>>699
ありがとうございます。
アクションアイコンのみでしか作った事無かったので難しいですね・・・。
頑張ってみようと思います。
707名前は開発中のものです。:2007/12/23(日) 00:32:42 ID:U9AhK/mz
HPの他にMPのようなものをつくりたいんですがどうやったら二つゲージを表示できますか?
708名前は開発中のものです。:2007/12/23(日) 00:42:15 ID:QJlA1OEF
自前でスクリプトを書けばできるよ。
709名前は開発中のものです。:2007/12/23(日) 05:15:16 ID:ZiPFLJZ/
>>707
つ「global」
710名前は開発中のものです。:2007/12/23(日) 12:40:14 ID:U9AhK/mz
スクリプト作るのはよくわかりません…
711名前は開発中のものです。:2007/12/27(木) 15:49:32 ID:8DGio7LY
「動きのあるスプライトA」を「動きのあるスプライトB」に、もしくは「動きのあるオブジェクトA」を「動きのあるオブジェクトB」に変えると
1フレーム目から正確に表示されず困っているのですが仕様ですか?

主人公が待機状態で攻撃キーを押すと「10フレーム目に攻撃判定を発生させる」主人公オブジェクト@に変化して
アニメーション終了時に元の主人公待機状態に戻るように設定したのですが@が5フレームあたりから始まって攻撃が異常に早く発生してすぐアニメーションが終わってしまったり
11フレームで攻撃判定がなくなってからアニメーションが開始されたりして毎回正確なフレームからスタートされません。
712名前は開発中のものです。:2007/12/27(木) 18:16:42 ID:1ajxqRXW
もう少し伝わりやすく書いてくれると回答者は助かります。

待機状態というのは、何もボタンを押していない状態でしょうか。
その前に何か条件が発生しているのでしょうか。

そしてバージョンは何を使っているのでしょうか。

そしてヘルプは読んでいるのでしょうか。
>>1のリンク先は見ていますか。

容易に仕様と言わないでください。
713名前は開発中のものです。:2007/12/27(木) 18:22:56 ID:1ajxqRXW
バージョン7及びGMLを使用している場合は、

sprite_index = spr_A
image_index = 0
image_speed = 10

2番目の image_index を変化させてください。
これは subimage の始まりを変えます。

最後の image_speed を変化させてください。
これはスピードが変わります。


再度伝えます。
リンク先のヘルプや exsample を参考してください。
714名前は開発中のものです。:2007/12/27(木) 18:28:43 ID:1ajxqRXW
アニメーションの再生がおかしいと感じる時は、
step の実行順番を再認識してください。
step には順番があります。

それは Begin Step から始まり、最後は Drawing です。

また、イベントの Animation End Event をうまく活用してください。

よりよい Game Maker Life を。
715HAL:2007/12/28(金) 14:58:17 ID:iAadBrLO
自分のキャラにHPを設定ってどうやるんですか
あとオブジェクトを使ってHPを減らすようにするにはどうしたらいいんですか
716名前は開発中のものです。:2007/12/29(土) 00:25:14 ID:yxji7H+p
ヘルスのほかにもう一つゲージを作りたいのですがスクリプトを使わずアクションだけでも可能でしょうか。
717名前は開発中のものです。:2007/12/29(土) 11:53:52 ID:YtFwzcBI
ゲージくらい変を数使えばできるだろう?
718名前は開発中のものです。:2007/12/29(土) 11:54:46 ID:YtFwzcBI
変数をですw
変を数ってなんだ…orz
719名前は開発中のものです。:2007/12/29(土) 17:02:58 ID:4nUjeBtr
描写のやり方がよくわからないんです
変数で二つ目のヘルスを作っても描写で画面に表示する方法がわかりません
バージョンは5.3です
720名前は開発中のものです。:2007/12/30(日) 03:17:36 ID:NSmEj/DS
いわゆるHPとかゲージを2本表示する簡単なサンプル作ってみた
http://www.uploadjar.com/134394
ZでPLAYER1(赤)弾発射
XでPLAYER2(青)弾発射
721名前は開発中のものです。:2007/12/30(日) 11:55:41 ID:Zqqq8hXp
参考にさせてもらい無事完成させることができました。
ありがとうございます
722ぺしゃみゅんち:2007/12/31(月) 22:39:11 ID:G7IwY3y8
はじめまして
私ロックマンエグゼのようなゲームを作ってみたのですが
変な異常を起こします
原因が一人ではわからないので皆さんに見ていただきたいのですが
これがそのファイルですhttp://www.uploadjar.com/766112
バージョンは5.Aです
詳しいことはファイル内の問題点のテキストに書いてあります
よろしくお願いします。
723名前は開発中のものです。:2008/01/01(火) 04:09:53 ID:HO6m3WgJ
>>722
意味が わからない

あとエンターでプレイヤー表示だけどpressにするのをお勧めするよ一瞬押しただけでも2、3召還されるわけで
724名前は開発中のものです。:2008/01/01(火) 13:01:48 ID:5Zz7hnr7
変な異常って頭痛が痛くね?
725名前は開発中のものです。:2008/01/01(火) 15:05:07 ID:krtrP6kC
>>724
変と異常ってのは違う意味を指すからおかしくないんじゃね?
726名前は開発中のものです。:2008/01/01(火) 18:25:13 ID:HO6m3WgJ
>>725
異常な上に変なんじゃね
727名前は開発中のものです。:2008/01/01(火) 20:03:22 ID:krtrP6kC
>>726
724に言えよ
728ぺしゃみゅんち:2008/01/01(火) 21:13:12 ID:41An0v9b
>>726さん おっしゃるとおりです
>>723さん 修正しましたがパソコンの調子が悪く
      アップロードに時間がかかるのでほかの修正箇所が
     出てきたところでアップロードさせなおしていただきます

異常とは本来右左でキャラクターを選択するのですが
怪鳥から左を押すと獅子になるはずが怪鳥のままになっているのです
また次が獅子になるはずのところでは怪鳥に飛んでしまうのです
どうしてこんなことがおきてしまうのでしょうか?
去年の9月から考えています
しかし分かりません
助けてください
729名前は開発中のものです。:2008/01/02(水) 03:01:30 ID:0XzNgAng
>>728
所々に音を鳴らす命令を入れて実験してみたところ、どうやら
オブジェクトEvsEのpress<left>を実行した後、すぐさまWvsEのpress<left>も実行しちゃってるみたい。
SvsEやNvsEのpress<right>での実行も同様。
原因は多分、1フレーム間でのインスタンス同士の実行順にあると思う。
これはもうおそらく仕様なので、次のような工夫が必要になってくる。

press<left>イベントを実行してオブジェクトを変化させたら、
変化後のオブジェクトのpress<left>イベントを、次のフレームに移りかわるまでの間は実行させないようにする。

……というわけで、フラグ変数をうまく使ってみると良いと思う。
730ぺしゃみゅんち:2008/01/02(水) 13:25:34 ID:19fPmr/N
ありがとうございました
変数などは分からないので
押し上げイベントに変更してみました
そのほかいろいろ改良しましたらもう一度アップロードします
731名前は開発中のものです。:2008/01/04(金) 02:27:54 ID:KY38Ruby
5.3Aもう3年くらい使ってるけどオブジェクトの名前とか日本語でもいけるんだな
あと描画イベントの使い途がいまさら解った
嘘みたいだろう?俺、いままで文字とかいちいちスプライト作って表示してたんだぜ?
732名前は開発中のものです。:2008/01/04(金) 17:38:30 ID:JG5m5wPm
日本語出力できていいなぁ・・・今から5.3Aに乗り換えようかな・・・
733名前は開発中のものです。:2008/01/04(金) 23:16:21 ID:cqFFi5wR
5.3AはVistaに未対応らしいけど、単独実行が出来ないということ?
GM自体は動くみたいだけど…
734名前は開発中のものです。:2008/01/05(土) 02:05:40 ID:NZZVqR2v
ビスタでフツーに作ってるけど?
実行形式はまだ試してないけど
735名前は開発中のものです。:2008/01/06(日) 18:55:38 ID:OjABw8Q7
スコア表記を
「スコア:○○」のように前に出すのではなく「○○点」のように表記したいのですが可能ですか?
736名前は開発中のものです。:2008/01/06(日) 20:34:01 ID:nLpXdUSy
>735
'' + string(スコア) + '点'
でできた
737名前は開発中のものです。:2008/01/06(日) 21:29:22 ID:OjABw8Q7
素早い返答ありがとうございます。
738名前は開発中のものです。:2008/01/08(火) 12:36:23 ID:G/0Io5dz
なんかボールが坂をころがっていくような物理シュミはこれでつくれますか?
739名前は開発中のものです。:2008/01/08(火) 20:46:53 ID:HXQlUjj3
シミュレーションな
740名前は開発中のものです。:2008/01/09(水) 10:04:09 ID:jHNZrdiZ
GMJにここの書き込み反映されてるんだなスゲー
741ぺしゃみゅんち:2008/01/15(火) 21:32:09 ID:hN1kqTH6
押し上げにしても同じことがおきました
しかし変数などが分からないのですが
誰か5.aで開ける>>729さんのいっていたようなフラグ変数
をつかったサンプルもしくは私のアップしたものに手を加えたものを
アップしてくれるとうれしいです。
ここで説明していただいてもかまいませんが
サンプルなどをアップしてくれたほうがうれしいです。
よろしくお願いします
742名前は開発中のものです。:2008/01/15(火) 23:50:06 ID:DrVh3adF
>741
簡単なやり方としては
・今キーイベントに置いている内容をアラーム0イベントに移動
(「イベントの変更」を使うと楽)
・かわりにキーイベントに「Set an alarm0」を置いて値を1にする

これでインスタンスの変化が1ステップおいて起こるようになる
743名前は開発中のものです。:2008/01/18(金) 02:01:25 ID:CrDQFjAi
追尾ミサイルを作っているのですが
直角や180度いっきに回転してしまうんですが
クルーってかんじに遠回りして追尾させたいんですが
どうすればできますでしょうか
744名前は開発中のものです。:2008/01/19(土) 00:58:07 ID:dhI4eC+v
登録するのが嫌で5.3Aを落としてきたけど、XPで不便な事って有るのか?
745名前は開発中のものです。:2008/01/19(土) 02:10:04 ID:pvbjWxud
>>744
あるとすれば

・6以降の新しい機能が使えない
・レジスト機能使う時に、登録しにいかなくちゃダメ

ってくらいだな。
746名前は開発中のものです。:2008/01/19(土) 06:44:46 ID:lpPp39mj
http://gamdev.org/up/img/10960.zip
日本語化辞書
途中だけど、続き誰か頼む
使い方教えてとかいう、ググれない厨は落とさないように
747名前は開発中のものです。:2008/01/19(土) 15:34:14 ID:Rw9P3/DK
なるほど、日本語訳付きで練習する分には問題ないと思っても良いって事か
748名前は開発中のものです。:2008/01/22(火) 21:09:08 ID:45T81GjC
>>743
今どうやってるん?
749名前は開発中のものです。:2008/01/22(火) 21:17:39 ID:ocbbdzjm
7が出てからもうすぐ一年かぁ
本家では新しいの出るんかな
750名前は開発中のものです。:2008/01/22(火) 21:22:18 ID:NoSS/6O8
>>748
いきずまってます\(^o^)/
動いてる方向を取って1/3ステップ進ませて今進んでる方向がうんたらかんたら
751名前は開発中のものです。:2008/01/23(水) 02:48:32 ID:Q1tjyTbC
>>746
ものすごくGJ
752名前は開発中のものです。:2008/01/23(水) 04:18:28 ID:b5xhxs/k
>>750
すまんが現状どうやってるのかよくわからん
角度を常に変数でもたせておくなりして三角関数使わないと難しいんじゃないだろうか
俺ならミサイルの単位時間に動かせる角度と距離固定して目標追わせるかな。
753名前は開発中のものです。:2008/01/24(木) 03:09:34 ID:n00gmxln
前回692です。
また製作の壁にぶつかってしまい困っています。

GM7でアクションゲームをつくっています。
現在、ロックマンのように、自キャラが移動をしながら攻撃ができるようになっています。
これを魔界村のように、移動中に攻撃ボタンを押したら、立ち止まって攻撃するようにしたいのですが、どうすれば良いでしょうか?

ソースをあげておきますので、
どなたか解る方がいらっしゃいましたらご教授下さい。

ttp://www11.axfc.net/uploader/20/so/He_66684.zip.html
Keyword(DLパス)は0011です。
754748:2008/01/24(木) 12:00:40 ID:gZRHXEEh
>>750
自分>>34なんだけどうpしてるやつの最初の方にホーミングミサイル撃つ敵
つくってあるんだけどこんな感じの作りたいの?
755名前は開発中のものです。:2008/01/24(木) 12:22:14 ID:gZRHXEEh
>>753
obj_usagiオブジェのキーボードイベント<left><right>のアクション全体をcan_attack変数が1の時だけ実行するように
If a variable has a valueを置いてみたらいいんじゃない?
756753:2008/01/27(日) 02:40:32 ID:v3yvH1+7
>>755
すばやい回答ありがとうございます。
無事自キャラが止まって攻撃が出来るようになりました!

半月間も悩んでたので本当に助かりました。
ありがとうございました。
757729:2008/01/27(日) 04:15:44 ID:PCXtfTLD
>>742
あ……なるほど。
pressKeyで即オブジェ変更するんじゃなくてAlarmイベントで実行させれば
複雑にフラグ変数を使わずに済みますね。勉強になります。
758名前は開発中のものです。:2008/01/29(火) 11:37:55 ID:n2eeRZD+
Scriptのエクスポートみたいに、
オブジェクトのソースを出力ってできますか?
オブジェクトがたくさんあると手作業ではちょっと厳しい...
759名前は開発中のものです。:2008/01/29(火) 21:35:15 ID:fH/FU5dj
Editメニューの最後にある「Show Object Information」
名前からは想像がつかないが、全オブジェクトの情報を
一気に出力してくれるというすぐれモノだ。
オブジェクトたくさん作りすぎてるとエラーで死ぬけどな!
760名前は開発中のものです。:2008/01/29(火) 23:51:12 ID:n2eeRZD+
>>759
止まった\(^0^)/
450個もオブジェクトがありゃそりゃ固まるか。
761名前は開発中のものです。:2008/01/31(木) 18:22:51 ID:fnpWL05f
>761
ばーか
762名前は開発中のものです。:2008/01/31(木) 22:04:15 ID:TXruG4et
>>762
( ^ω^)…
763名前は開発中のものです。:2008/02/01(金) 00:34:05 ID:a4c4UVam
 761 名前は開発中のものです。 [sage] 2008/01/31(木) 18:22:51 ID:fnpWL05f - NEW! -
>761
ばーか


 762 名前は開発中のものです。 [sage] 2008/01/31(木) 22:04:15 ID:TXruG4et - NEW! -
>>762
( ^ω^)…
764名前は開発中のものです。:2008/02/08(金) 17:38:06 ID:zFVnBZNt
うーん・・以前にも聞いたので
また聞くのはちょっと気が引けるんですが、
Solidのチェックを外さずに下からすり抜けられる床ってのは
やっぱり無理なんでしょうか。
諸事情で「キャラがブロックより上にいる時だけSolidにする」という方法が使えません。
765名前は開発中のものです。:2008/02/08(金) 18:50:11 ID:2GE6uT/l
マニュアル読んできた。
solid  Whether the instance is solid. This can be changed during the game.
(solid  インスタンスがsolidかどうか。ゲーム中に変更可能)

solidかどうかの判定は変更できるようなので、キャラのy値を取得して、
「キャラのy値がブロックのy値よりも低いとき、solidをfalseにする」
「else {solidをtrueにする}」
って組んだらどうかな?
766名前は開発中のものです。:2008/02/08(金) 19:08:26 ID:zFVnBZNt
>>765
前提として4キャラ同時に操作するということを書いてませんでした、すいません。
1キャラ操作のアクションゲームならそうするんですが、
多キャラを操作するときなどに、他のキャラがブロックの上にいるときとかに
Solidを解除すると乗っているキャラが落ちてしまうので悩んでいます。
767名前は開発中のものです。:2008/02/08(金) 19:10:03 ID:mtgOpTzW
>>766
ifを何個か重ねたらだめなのか?キャラごとに
768名前は開発中のものです。:2008/02/08(金) 19:29:09 ID:zFVnBZNt
そうすると1Pが乗ってて4Pが下にいるときとかに、
4Pが床(足場)にしたからすり抜けようとしたときにぶつからない?
1Pが上にいるからSolidはONになってるはずだし
769名前は開発中のものです。:2008/02/08(金) 20:41:16 ID:2GE6uT/l
ifを重ねて場合分けしようにも、キャラ別に判定用オブジェクトを作るにしても、
Solid同士の衝突は貫通しない以上、1つでもSolidがあったら下のやつは上にあがれなくなると思うぞ。そのためのSolidなんだし。
オブジェクト別にアクションを変えたいのなら、Solidは解除しておいて、状況に応じて通行可/不可が切り替わるように考える必要があると思う。

〜チラシの裏〜
発想を逆転してみた。
ブロックはSolidで固定。キャラのSolid判定を変えてみるという考え。
キャラがブロックの上にいるときはSolid、下ならNon-Solid。
これなら下から上ならすり抜け、上から下なら止まるというのを実現できるのじゃないかと。

……でもこれをやると、ブロックは縦方向に見て1つまでしか置けない。
ついでに多分、キャラも床もSolidにして床の上を自由に歩けるようにしてあるんだと思うから、
これをやると床をすり抜けどこまでも落ちていく。

うん。駄目だ。
〜チラシの裏〜
770名前は開発中のものです。:2008/02/08(金) 20:48:06 ID:zFVnBZNt
あ。
自己解決した・・!
結局「キャラがブロックより上にいる時だけSolidにする」という方法が使えるということに気がついたというオチ・・。
Solidに設定しててもCollisionイベント設定しなかったら素通りするから、
4人いたらそれぞれのプレイヤー用の床を作って4つ重ねればいいのか。。
2ヶ月くらい悩んだけどなんか思いついてみれば簡単だった・・・。

ttp://www.uploda.org/uporg1239813.gm6.html
考えて頂いてありがとうございました。
771名前は開発中のものです。:2008/02/08(金) 20:51:40 ID:2GE6uT/l
ってなんだ、Solidでも素通りするのか。
772名前は開発中のものです。:2008/02/10(日) 01:31:29 ID:JMvutfpq
>>766 4キャラ同時に操作ってニコニコアクションの人か?
違っても製作頑張れ。完成するといいな。
773名前は開発中のものです。:2008/02/12(火) 00:35:49 ID:iUX9zyeT
>>770
このレスはアクションの人だったんだな(´・ω・`)
774名前は開発中のものです。:2008/02/12(火) 22:51:39 ID:iUX9zyeT
いろんなroomを表示させることはできますでしょうか?
775名前は開発中のものです。:2008/02/12(火) 22:58:47 ID:54CFVRXr
>>774
残念だがそれは仕様上ムリだと思ふ
776名前は開発中のものです。:2008/02/12(火) 23:04:06 ID:iUX9zyeT
777名前は開発中のものです。:2008/02/14(木) 22:58:45 ID:3EjNgEsT
>>774
一つのルームに4種類部屋作って>>776の方法で分割表示すれば良いんじゃね?
778名前は開発中のものです。:2008/02/14(木) 23:29:42 ID:bjVjEw1+
>>777
ヴァージョンが5だったことを忘れてたんだぜww
779名前は開発中のものです。:2008/02/15(金) 03:04:43 ID:5T9VWkup
sprite_replaceで外部からファイルを読み込みまくってたら、
ロード時間が半端なく長くなった上にメモリ浪費が激しすぎる・・。
時間とメモリを節約する方法ってないですかね・・・
780名前は開発中のものです。:2008/02/15(金) 03:21:07 ID:BAZ3rUXc
一度に全部読み込んでる?
もしそうなら、room内で使う分だけ読み込むようにしてみるとか。。。
たしか、使用していない画像や音声のリソースをメモリから消去するような関数が用意されていたと思うんで、
roomを変更する時などに、必要がなくなったリソースをメモリから削除するようにしてみるとか。。。

781名前は開発中のものです。:2008/02/15(金) 13:06:06 ID:5T9VWkup
メモリ消費は>>780を参考にいろいろやってみて軽減は出来ました。
しかしロード時間が死ねる・・。sprite_replaceを使う以上仕方ないのかなぁ。

ゲーム内に組み込もうにもキャラ数が40人くらいいるから、
exeにまとめると実行ファイルサイズとスプライト数がすごいことになる。
782名前は開発中のものです。:2008/02/15(金) 16:41:13 ID:sRLBKt+9
>>781
読み込むものを減らしたらどうでしょか
2つか3つ本体作って
全部読み込みバージョン
ちょっと読み込みバージョン
最小限バージョン
とか(´・ω・`)
783名前は開発中のものです。:2008/02/15(金) 17:20:59 ID:hkVzw0EY
データを外部から取り込むようにして実行ファイルを小さくすると、
・起動が早いかわりに、リソースの読み込みでやや時間をとる。
・修正、アップデートが軽量化できる。(新しい実行ファイルと追加データを上書き)

逆に全部をexeにまとめると、
・起動が遅いがその後のロードは不要(または軽減?)。
・中に詰め込んだデータに容易にアクセスできない(ユーザーからのリソースの書き換え防止)
・しかし、アップデートは差分の書き換えではなく「新しいバージョンを丸ごと入手」

……といった解釈で合っていますか?
間違っていたり、もっと詳しい説明があったら是非お願いします。
(もしこうだったら、修正/拡張パッチとかが作れるように、外部からの取り込みの方がいいのかなぁ)
784名前は開発中のものです。:2008/02/15(金) 21:54:23 ID:6M2Mj1CC
ホモの友達がいるんだが
そいつベッドの下にビンに入った液体チョコレートと筆を置いてて
これなんだ?って聞いたら
「これで彼といっしょにお互いの体に塗ってなめっこするの♪」
って言われた。
785名前は開発中のものです。:2008/02/17(日) 04:31:08 ID:/MDHcIsH
初歩的な質問ですが
顔や手がブロックに引っかかって落ちなかったり、
端っこの壁に行くとめり込んででられなくなったりします・・・
コリジョンの判定をどうすればいいのでしょうか

http://gamdev.org/up/img/11074.zip
786名前は開発中のものです。:2008/02/17(日) 06:06:40 ID:7sK4ZglN
787名前は開発中のものです。:2008/02/17(日) 11:03:46 ID:wXzkSK3W
失礼します。
GML上において、score(GM側にデフォルトで設けられているスコア変数)に
値を代入させる方法がわからず、困っています。
ヘルプは一通り読んだつもりで、私は次のような記述を行いましたが…
score =(適当な値);
global.score =(適当な値);
エラーになってしまいます。

GMLを使ってscore変数の値を変えるにはどのようにすれば良いのでしょうか?
788787:2008/02/17(日) 11:10:44 ID:wXzkSK3W
あぁ、言い忘れていました…
バージョンは6.1です。
789名前は開発中のものです。:2008/02/17(日) 12:32:39 ID:yekEWnFq
>>787
やったことないが
グローバルいらないんじゃね?
790787:2008/02/17(日) 14:13:20 ID:wXzkSK3W
"global."の有無に関わらず、"Variable name expected"というエラーメッセージが出てきます。
試しに今、新規作成でscore+=1と記述してみたところ、これは難なく動作しました。
ということは、このエラーの原因は別の箇所にあると考えられそうですので
一旦ソースを見直してこようと思います。
……何処がダメなのか想像がつかないけど……
791名前は開発中のものです。:2008/02/17(日) 15:28:06 ID:yekEWnFq
score = ?;
score=?;
両方試してみた?
後スペルチェックとか
792名前は開発中のものです。:2008/02/17(日) 15:48:55 ID:F5p9Y4ne
"Variable name expected" が出るのはたいてい
"score" をすでに変数名以外に使っちゃっているとき。
変数名が青じゃなくて紫になってたらそれだ。
オブジェクトとかスプライトに "score" って付けてない?
793787:2008/02/17(日) 19:47:57 ID:wXzkSK3W
>>792
確かに紫になっていました。でも"score"なんて名前を付けた覚えはない……
と思ってたらありましたよ、"score"という名のルームが!
気をつけて名前を付けてきたはずだから、こんな間違いはしていないと思い込んでいました…

>>791
そのようなスペースの有無によって引き起こされるバグは
ほとんどないと思っていますが、どうなんでしょう?

お二人方、どうもありがとうございました。
794名前は開発中のものです。:2008/02/17(日) 21:31:14 ID:H3L0qkMh
>>786
ありがとうございます
そして重ねて質問なんですが、
マスクの使い方も教えてもらえないでしょうか?
795名前は開発中のものです。:2008/02/18(月) 06:03:43 ID:P6ufyrMd
>>794
マスク=当たり判定かな、違ってたらすまん
でも俺説明下手だから
http://gamemaker.main.jp/modules/newbb/viewtopic.php?topic_id=367
を参考にするといいんだぜ!
796779:2008/02/18(月) 14:05:15 ID:wD+9YlvR
ロード時間の件ですが、
スプライトのロードよりも、
キャラ変数の用意に膨大な時間がかかっていることが判明。

execute_fileで大きなファイルをロードすると時間かかるんですね・・
797名前は開発中のものです。:2008/02/18(月) 16:30:52 ID:IGcs7e6P
>>556でも指摘されてたけど、
ゲーム実行時に GMLコードの書かれた文字列(またはテキストファイル等)を実行するのはかなり時間コストがかかるよ。
単純に考えても、gmソースにあらかじめ組み込んでおくのに比べて、
exe側がコードを解析して、(GM流の)バイトコードに変換する処理が増えるんだし。。。

変数の代入程度なら、自前でデータファイルを作って処理をしたほうが良いだろうね。
バイナリ形式のほうがよいかもしれない。
798名前は開発中のものです。:2008/02/18(月) 21:26:12 ID:ZmedX/dg
>>795
解決できました!
ありがとうございます!
799名前は開発中のものです。:2008/02/18(月) 22:39:56 ID:tcJyICZc
>>796
変数を使いまくるとロード長くなる?
どのくらい変数使ってるの?
800779:2008/02/19(火) 22:43:31 ID:x/RhMfeZ
あー、いや、変数の用意自体は一瞬なんだけど、
execute_fileでやってるから変数が多くなるとテキストも長くなって
時間がかかってしまうわけで。ゲーム内部に入れてしまえば0.1秒もかからないし、
配布時には内部に入れてしまおうかなぁと思ってる。

今数えたら5000個くらいだった。それ×4。
なんかこの設計自体に問題がある気がしてならない。
801名前は開発中のものです。:2008/02/21(木) 10:47:14 ID:QLrlpKAR
すいません、擬似的に空間の歪みを表現しようと思い、
sprite_create_from_screenとsprite_assignで
ゆがませる空間のスプライトを作成し、
sprite_set_alpha_from_spriteをかまして
そのスプライトを用いたオブジェクトを拡大/縮小しながら表示させ、
オブジェクト消失時にsprite_deleteってやってるんですが、

この処理するたびに物理メモリが一定量ずつ減っていってしまいます。
sprite_deleteしてるからメモリは開放されるはずなのに…
何故でしょうか。
802名前は開発中のものです。:2008/02/21(木) 12:22:17 ID:TNE50/I9
>>801
書かれていることだけをこちらでver 6.1にて実験してみたけど、
処理するごとにメモリ消費されてしまう現象は確認できなかった....
ちなみに、こんなソースです。レジストバージョンしか動きません。F1キーで略説でます。
ttp://gamdev.org/up/img/11107.zip

sprite_create_from_screen() で作成したスプライトも全て sprite_delete() されてるか再度確認されてみては。
803801:2008/02/21(木) 13:03:03 ID:QLrlpKAR
素早い返答有難うございます。
帰宅してから試してみることにします。
804801:2008/02/21(木) 18:05:02 ID:hrX+JUXR
>802
只今帰宅し、サンプル確認してみました。

おおおおーーーメモリが減らない!!

背景からスプライトを置き換える際にsprite_delete(ind);を
入れてなかった点と、preloadがtrueになっていた点あたりが
問題…だったのかもしれないです。

さっそく作ってるゲームに入れてみて更に確認してみます!

有難うございました!!
805802: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名前は開発中のものです。:2008/02/24(日) 00:38:27 ID:410jBEd1
>>809
使い方と言っても、xとyにスコア表示したい座標入れるだけなんだけど…
とりあえず(0, 0)のままでも画面左上に何かしら出るでしょ。

アクションをDrawイベントに置くこと、Visibleにチェック付けておくこと、
オブジェクトをルームの中に置いとくこと、以上3点忘れずに。
811809:2008/02/24(日) 10:24:15 ID:+SnWXLhW
>>810
Visibleにチェックをつけるという意味がよくわからなかったが、
ちゃんと動きました。ありがとうございます。
812名前は開発中のものです。:2008/02/24(日) 11:48:45 ID:2Py4k7Q8
Object Properties

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

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

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

うっかりしてると>>810が言った3つを忘れてしまいがち。
見直してて原因を見つけたとき「そりゃ表示されるわけねーわなw」となる。
813名前は開発中のものです。:2008/02/25(月) 16:38:49 ID:N0LtIPkd
オブジェクトのイベントにある
outside view が働いていない気がする
814名前は開発中のものです。: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
中国奇形動物の画像【苦手な方は閲覧を御遠慮下さい】
http://d.hatena.ne.jp/tsukkun/20061211/p3
鼻二つに眼が三つの子牛. 頭一つに身体二つの子豚. 単眼の子豚. もはや原形を
とどめない子豚. 4本足のヒヨコ・・・ (ここではヒトの奇形は詳しく紹介しませんが、
中国語「畸形」(簡体字・繁体字ともに)でインターネット検索をしたら・・・)

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

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

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

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

中国の蛍光色7色に輝く河川
http://hinden.at.webry.info/200712/article_4.html
病気になったら抗生物質に汚染された魚を食べて治すという。すごい「薬膳」ですね。
816名前は開発中のものです。:2008/02/28(木) 18:44:34 ID:o8q2cNq4
ちょっと興味あるけど自機の移動も作れないしGMLとかわけわかめでもうだめだ
817名前は開発中のものです。:2008/02/29(金) 02:55:26 ID:x+l1o480
強制はしないけど、興味があるんだったら、いきなり作りたいものを作ろうとせずに、まずはチュートリアルに沿って一度作ってみるといいよ。
逆に、作りたいものを作るためにはどんなことを覚えなきゃいけないか、って感じで入ると滅入ると思う。
チュートリアルの通りに作って、わからなくなったらExampleを見て、どうやってるのかを参考にしたり。
GMLを使わなくても、シンプルなゲームなら十分作れるから、GMLに触れるのはある程度慣れてからで十分。

最初のうちは、「何が起きたらどれをどうする」といったことを決めていく、と考えるといいかもね。
右を押したら右に行く、弾が自機に当たったら爆発する、とか。
「チュートリアルなんて面倒」とか思わずに。無駄にはならないよ。
818名前は開発中のものです。:2008/03/07(金) 01:56:07 ID:/zU2Jm/L
これ商用で配布とかは可能なの?
どこに書いてあるかわかんないんだけど
819名前は開発中のものです。:2008/03/07(金) 02:03:53 ID:li5Lf13v
確か可能なはず
820名前は開発中のものです。:2008/03/07(金) 02:58:15 ID:r5pkyD7y
821名前は開発中のものです。:2008/03/07(金) 21:49:20 ID:/zU2Jm/L
>>819,820
サンクス
822名前は開発中のものです。:2008/03/10(月) 16:38:14 ID:qJ6+/ltX
>>819,820
セブンイレブン
823名前は開発中のものです。:2008/03/11(火) 20:45:46 ID:EJkJUT5l
親インスタンスの設定と当たり判定の設定がまとめを見てもわからない・・・
GM7だとやり方が変わってるのでしょうか?
もしそうなら誰か設定の仕方を教えてくれませんか?
824名前は開発中のものです。:2008/03/11(火) 21:53:46 ID:c68BSDCd
別に変わってないはずだけど
ParentとかBounding Boxが見つからないって話だったら
まず File >Advanced Mode にチェックつける
825名前は開発中のものです。:2008/03/11(火) 22:02:17 ID:EJkJUT5l
>>824
d
advanced modeにチェックを入れたら見れるようになりました
ありがとうございました
826名前は開発中のものです。: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名前は開発中のものです。: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名前は開発中のものです。:2008/03/17(月) 10:22:50 ID:RBuRFwrN
>>827
なるほど・・わかりやすい説明ありがとうございます。
ダメージモーションの種類が4、攻撃の種類が40、その他死亡モーションや、
予備動作などがあって、一つのオブジェクトで作ると、
俺の頭がこんがらがってしまったので分けましたが、
実際のところは分けないほうが最終的にわかりやすいんだろうなぁ・・。
やっぱり自分の力量に応じて仕様というか、
ある程度妥協した方が結果的にいい場合もあるんでしょうね。
829名前は開発中のものです。:2008/03/17(月) 13:07:23 ID:0WhHqNl0
モーションってのがただ単にスプライトのことだったら、スプライトの入れ替えだけで済むし(sprite_indexの変更)、
全てのスプライトを1つにまとめて、subimageの値を決めることでも解決する。(image_indexの範囲指定)
スプライト以外だとしても、そのインスタンスの状態(ダメージ、攻撃中、移動中等)で場合分けをするといいだろうね。(step内でswitchを使って場合分け)

インスタンスを変えるということは、今あるインスタンスを削除して、新しくインスタンスを作るということ。
敵を攻撃したり、ダメージを受けたりする度に自分が生まれ変わるってのも変な話だよね?
インスタンスを変えていると、システム的なエラーだけじゃなく「エラーメッセージは出ないけど、自分の意図した通りにならない」というエラーも起こりやすい。
だから、場合分けをインスタンスの変更でするんじゃなくて、オブジェクトの中で場合分けをするように作っていく方がいいよ。
830名前は開発中のものです。:2008/03/17(月) 20:51:48 ID:zfMhFuyL
さっきレジストしたんですが、バックアップCDってのは別にいらないですよね?
831名前は開発中のものです。:2008/03/17(月) 21:11:55 ID:9xiWBLkG
特定のボタンを押したり画面内のボタンをクリックしたらいったんその画面の動きを止めて
画面上に別のメニュー画面などを表示させたいのですがどうすればいいでしょうか。
832名前は開発中のものです。: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名前は開発中のものです。:2008/03/23(日) 21:06:26 ID:vPqoB7Ec
試してないからわからないけど、多分同一スプライトを複数のオブジェクトから参照しても、
メモリ上にスプライトを複製するようなことをしない、と思う。。。
1の方法でいいんではないかな。
835名前は開発中のものです。:2008/03/23(日) 21:32:39 ID:PWwLtvC1
その「sprite_title」がグローバル変数で、ロード(sprite_add)を1回しかしないなら
スプライト1つ分のメモリしか使わない。ローカル変数でそれぞれのオブジェクトが
個別にsprite_addするなら、当然スプライト3つ分のメモリを使う。
なので(1)と後者の方法の組み合わせだとメモリを無駄に使うことになる。
他の組み合わせだと使用量は同じかな。

でも、メモリの節約だけが目的なら、単にスプライトのプリロードをオフにする
(GM5の場合は遅延ロードをオンにする)で十分だと思う。
これだと必要な時に自動的にロードして、ルームの終了時に自動的に解放もしてくれるよ。
836名前は開発中のものです。: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名前は開発中のものです。:2008/03/24(月) 17:55:40 ID:jv5GLLmZ
言語ファイル対応させろよ・・・
839名前は開発中のものです。:2008/03/24(月) 23:02:33 ID:GFQTJ2FQ
840名前は開発中のものです。:2008/03/25(火) 01:38:15 ID:/7w1wYJ6
>>837
地面にぴったり着地しなくて、宙に浮いた状態になるってこと?
Collisionイベントに「move to contact」のアクションは入れてる?
841名前は開発中のものです。: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名前は開発中のものです。:2008/03/26(水) 22:08:47 ID:tIIk7RtU
スマブラのAボタンのコンボみたいというのが、漠然としすぎてよく分からない
もっと具体的に
847名前は開発中のものです。:2008/03/26(水) 22:17:44 ID:paW4cEkf
1個目の攻撃のモーションが出た後につづけて攻撃ボタンを押すと、
2個目の攻撃モーションがつづけて出るみたいのにしたいんです。
パンチ→パンチ→キックみたいな。
848名前は開発中のものです。: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名前は開発中のものです。:2008/03/27(木) 22:07:49 ID:fgaEWE81
>>852
アニメーションエンドイベントで
image_index を最後の番号(絵が18枚ならindexは0〜17なので、17にする)にして、
image_speed を 0 にする、とか。
854名前は開発中のものです。:2008/03/28(金) 11:24:35 ID:MJYJEqfl
背景をタイル張りにせずにビューについてこさせるためには
どうすればいいのでしょうか?
855名前は開発中のものです。: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名前は開発中のものです。:2008/03/30(日) 18:19:37 ID:NXbnTPzd
特定のインスタンスを常に手前側に表示させるって方法がありましたっけ?
あったら教えてくださると嬉しいです。
857名前は開発中のものです。:2008/03/30(日) 18:20:34 ID:NXbnTPzd
>>856 文にミスがあったので修正
×方法が
○方法って
858名前は開発中のものです。:2008/03/30(日) 18:40:24 ID:y58KxNze
depthを小さくさせる、かな。
depthが小さいほど手前、大きいほど奥に表示される。
例えば-10、0、10の3つがあったら-10が一番手前に表示される。
手前に表示したければ、その特定のインスタンスのdepthを他より小さくすればいい。
デフォでdepthは0になってるから、特に何もしてない限りdepthを-1にすれば済むはず。
859名前は開発中のものです。:2008/03/30(日) 20:25:27 ID:NXbnTPzd
>>858
ありがとうございます。
解決しました
860名前は開発中のものです。:2008/03/31(月) 00:26:35 ID:3gZNdKrL
>>855
ありがとうございます。コードを組み込んだらちゃんと着いてきました。
でも何故かとまるときや着地するときに背景がズレるのです。
解決方法があれば教えていただけるとうれしいです。

http://gamdev.org/up/img/11264.zip
861名前は開発中のものです。: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名前は開発中のものです。:2008/03/31(月) 13:44:36 ID:3gZNdKrL
>>861
解決しました。
ありがとうございます。
864名前は開発中のものです。: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名前は開発中のものです。:2008/04/01(火) 15:45:29 ID:jcfVMQvT
>>863
>>860のファイルちらっと見たけど1つだけ
オブジェクトとかスプライトとかサウンドのリソース名が同じものがいくつかあるけど
別の名前にしておいた方がいいよ
867名前は開発中のものです。: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名前は開発中のものです。: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名前は開発中のものです。: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名前は開発中のものです。: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名前は開発中のものです。:2008/04/04(金) 05:32:53 ID:ozKEK2lV
+を-にしたりすれば上下逆もできるんじゃ?
877872: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
881名前は開発中のものです。:2008/04/04(金) 23:44:49 ID:atXFd6s2
ゴメン、ミスったぜ
http://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名前は開発中のものです。:2008/04/05(土) 04:46:32 ID:mh+kpRIe
俺普段はGM5使ってるけど
中身見る用にGM7も入れてる
885名前は開発中のものです。:2008/04/05(土) 05:54:37 ID:/7lMTMqT
書き間違えました。
上から7行目のhonooってのはObject2のことです。
886名前は開発中のものです。: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名前は開発中のものです。: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つお願いします。

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

解り難い説明ですみませんが、ご存知の方よろしくお願いします。
897名前は開発中のものです。:2008/04/07(月) 00:07:19 ID:ip9v6GLB
【速報】らき☆すた二期決定でアニオタ歓喜wwwwwwwwww
http://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名前は開発中のものです。:2008/04/07(月) 23:37:03 ID:5Vpyn9U6
某東のほうのSTGの魔女っ娘みたいな極太レーザーを表現したいんですけども
どうすれば極力ゲームが軽く仕上がるでしょうか?
902名前は開発中のものです。: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名前は開発中のものです。:2008/04/08(火) 11:32:50 ID:PGw82Ekz
GMに興味あるんだけど、ここ見てると書式結構独特ぽいな…
やってる人はけっこうサクっと順応できたのかな。
904名前は開発中のものです。: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名前は開発中のものです。:2008/04/08(火) 23:29:01 ID:C/r/gPzk
>>902
後者で試してみようと思います
ありがとうございました!
906900:2008/04/09(水) 03:31:08 ID:R1oJ6a1A
>>904
ああ、そうなのかー…なるほどなあ…
わざわざ丁寧にありがとうございます。

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

こんな感じでしょうか・・・
もっといい方法があると思いますが自分にはわかりません;
945名前は開発中のものです。:2008/05/04(日) 21:30:58 ID:lNeW/IjQ
>>944
ありがとうございました。
早速いじってきます〜
946名前は開発中のものです。:2008/05/04(日) 22:02:44 ID:LG4ZPs/B
クリエイトイベントで
isshootable = 1; //弾が撃てるか
isjump = 0 ; // ジャンプしてるかどうか
bulletNum = 3; //残弾数

[弾を撃つイベント]
{
 if (isshootable==1 && isJump == 0) {
  if (bulletNum > 0) {
   instance_create(x,y,bullet);
   bulletNum -= 1;
  } else {

  }
}
947名前は開発中のものです。:2008/05/04(日) 22:05:20 ID:LG4ZPs/B
ゴメンミスッタ
クリエイトイベントで
isshootable = 1; //弾が撃てるか
isjump = 0 ; // ジャンプしてるかどうか
bulletNum = 3; //残弾数

[弾を撃つイベント]
{
 if (isshootable==1 && isJump == 0) {
  if (bulletNum > 0) {
   instance_create(x,y,bullet);
   bulletNum -= 1;
  } else {
   // リロード 弾を撃つボタンでリロードする場合にはここに記述
   // 他のタイミングでリロードしたいなら、この部分は要らない。
   {リロードするアクション}
   bulletNum = 3;
  }
}
こんな感じで。

948名前は開発中のものです。:2008/05/04(日) 22:16:01 ID:lNeW/IjQ
>>947
なるほど
そういう並べるのですか
また困ったらよろしくお願いします。
ありがとうございました〜
949名前は開発中のものです。:2008/05/04(日) 22:21:00 ID:LG4ZPs/B
あ、あと撃ったときにタイマーイベント発生させるの忘れてたorz
   bulletNum -= 1;
の下に、
   alarm[0] = 30; // 30ステップ後にアラーム0イベントが発生。
としてくらさい。
インデントはかきこ時の見た目重視で全角スペース使ってるので、コピペだと動かないので注意。
950名前は開発中のものです。:2008/05/04(日) 22:33:54 ID:lNeW/IjQ
>>949
了解です〜
ありがとうございます。
951名前は開発中のものです。:2008/05/04(日) 23:18:28 ID:KZv3H4cz
いつもお世話になっております。
教えてほしいのですが、>>853がうまくいきません。

image_speed = 0にしてGifのアニメを一周で止める動作をさせたいと考えています。
Stepイベントにて以下のコードを動かしてみたところ、アニメがループしてしまいました。

//5枚目でストップ。
if image_index == 4 {image_speed = 0}


ご教授いただきたくお願いします。
952名前は開発中のものです。:2008/05/04(日) 23:28:07 ID:KZv3H4cz
951です。

書き込みをした直後、試行錯誤を続けたところ
原因が分かりました。

gifをゆっくり動かしたかったことから、以下のコードを入れていました。

image_speed = 0.2

これを以下の値に直したところ、「5枚目でストップ」が動作することを確認しました。

image_speed = 0.25


うーん、ただここでひとつ疑問が・・・
なんで「0.2」では動作しなかったのか・・・うーん
板汚し、すいませんでした orz
953名前は開発中のものです。:2008/05/05(月) 00:40:19 ID:XEs+C953
>>952
小数を扱う場合、パソコン内では10進数ではなく2進数なので、
10進数ではキリのよい数値のように思えても、
2進数では無限循環小数(割り切れない割り算で、小数点以下を延々繰り返してしまう数)になってしまう数値がある。
もちろんパソコン内のメモリは無限ではないので、ある桁以下は省かれてしまう。
これを丸め誤差という。

以下のコードを実行してみるとわかるが、
i = 0.2;
for (k=0;k<20;k+=1) {
show_message(string_format(i,20,18));
i += 0.2;
}
i が 4 となるべきところで、GameMakerでは微妙に4より大きい数値になることがわかる。
(※常に大きい数値となるわけではなく、本来の数値より少なくなることもある)
これは、丸め誤差が積み重なってできた誤差になってて、真に4となるわけではない。
なもんで、 if文の image_index == 4 の条件は満たさない、と考えられる。

このような理由で、プログラムの世界では浮動小数な変数をそのまま条件文でイコールを使うのはご法度。と言われてる。
誤差を意識したコーディングを心がける必要がある。
GameMakerの数値は全て浮動小数扱い。だが、整数のまま扱ってる分には問題ない、はず。
(私はプロじゃないんで…かじった知識程度で申し訳ない、間違ってたら指摘ヨロ)
954名前は開発中のものです。:2008/05/05(月) 01:59:41 ID:T1qF9S2G
まあでも、853で言ってるとおり
Other > Animation End イベント使えば
image_index判定する必要ないんだけども。

ちなみにあくまでStepイベントで判定するなら
if (image_index + image_speed >= image_number)
で Animation End イベントと等価になる。
955名前は開発中のものです。:2008/05/05(月) 05:06:15 ID:KYkFnzVP
FEっぽいゲームを作りたいんですが
移動範囲の求め方がわかりません;
1マスごとに-1するということだと思うんですが
具体的に書けなくて・・・
教えていただけたら嬉しいです
956名前は開発中のものです。:2008/05/05(月) 05:40:23 ID:Bq2Q3q9u
やり方はここが参考になるんじゃない?
ttp://www5f.biglobe.ne.jp/~kenmo/program/SLG/move/move.html
再帰ループとか理解している必要があるけど。

957名前は開発中のものです。:2008/05/05(月) 06:13:29 ID:KYkFnzVP
>>956
そのサイトも見たんですがsearch関数というのがよく分からないです;
自分で作るものなのでしょうか・・・
958名前は開発中のものです。:2008/05/05(月) 08:26:38 ID:grhJSKQZ
>>953 954

ご指摘ありがとうございます。
丸め誤差・・・次から気をつけます。

あと、Animation Endイベントって存在したんですねぇ。
「Other>Animation End」…存在すら知りませんでした…。
となると以下みたいな使い方になるんでしょうか?(再質問みたいですいません)

▼Animation End Event
//image_indexがsprites「spr_hoge777」の場合、speedを0に変更
if (image_index == spr_hoge777)
{
img_spd_save = image_speed //停止前の速度を保存
image_speed = 0
}
else
{
image_speed = img_spd_save //他のspritesの場合は保存速度に戻す
}
959名前は開発中のものです。:2008/05/05(月) 08:57:11 ID:grhJSKQZ
>>958
image_indexじゃなくてsprites_indexでした。

あと、このコードじゃうまく動作しませんでした。
うーん。難しい・・・。
960名前は開発中のものです。:2008/05/05(月) 10:27:30 ID:j6OioUkw
なんだかやりたいことが混乱してないか?
「困ったときは原点に戻る」
プログラム的なことは置いといて、まず何をしたいのかを考えてみ?

この場合はアニメーションが終わったら止める、だったよね?
Animation End Eventでimage_speedを0にすればアニメーションはとまるんじゃない?
多分これだけだと一枚目に戻って止まるかも知れないから、
止めた後にimage_indexを最後の数字にする。
つまり、
「アニメーションが終わったら、
・まずアニメーションを止めて、
・最後の画像を表示させる」

……>>853が言ってることと全く同じなんだが。
これで出来ないってなると、Step eventで毎回毎回image_speedを設定してるんじゃない?
もしそうだったらいくら止めても止まらないんだけどw
961名前は開発中のものです。:2008/05/05(月) 10:40:47 ID:j6OioUkw
もしimage_speedが一定で、終わったらそれを止めたいってだけなら、
image_speedをCreate Eventで設定した方がいいよ。
962名前は開発中のものです。:2008/05/05(月) 11:31:49 ID:grhJSKQZ
>>960,961
なんていうか、いろいろとすいません。
うーん、そうですねぇ。「やりたいこと」…
「一定条件のみアニメを止める」っていう動作をさせたいんだと思います。

Object内で条件毎にコロコロspritesを入れ替えておりまして
spritesに一定の画像が使われている時に限り、「アニメを一周」させたかった訳です。
(キャラが走行中に立ち止まった時、着地した時だけ服が揺れるアニメ…等)

1、sprites変更後、「アニメ停止変数」生成
2、Animation Endにて「アニメ停止変数が1の時のみ、image_speed=0」

でやりたいことが実現できました。
うーむ。確かに原点に返ってみれば、単純な事だったのですね…。
板汚しすいませんでした orz
963名前は開発中のものです。:2008/05/05(月) 21:40:31 ID:2SyyMfLm
なにげにレス伸びてる・・・そろそろ次スレの季節なのかな?
964名前は開発中のものです。:2008/05/05(月) 22:22:44 ID:eAt6pbsl
>>950です。
また質問に来ました。
HPを準備するまでは出来たのですが、HPの減らし方(ダメージ)がわかりません。。
後、自分的にはゾンビのような敵と戦わせたいので、
近づいたら(正確には近づかれたら)ダメージという形での使用方法も教えてください。
よろしくお願いします。
965名前は開発中のものです。:2008/05/05(月) 22:48:47 ID:J24rBd4c
>>964
サンプルとか、>>1チュートリアルとかサイトに色々書いてるから自分でも調べてから書き込むことをオススメする。
966名前は開発中のものです。:2008/05/05(月) 23:18:51 ID:2SyyMfLm
>>964
>HPを準備するまでは出来たのですが、HPの減らし方(ダメージ)がわかりません
HPの値を保存しておく変数があるならダメージをもらうタイミング(ダメージをもらう処理をするイベント)で引き算してやればよい
ダメージをもらうタイミングが「敵が近づいたら」ということなら敵のステップイベントでpoint_distance()関数を使えばいい。例えば
obj_mychara:自分が操作するキャラのオブジェクト名 VarMyhp:自キャラのHPを覚えとく変数
obj_emychara:敵キャラのオブジェクト名と命名してあるとして、
obj_emycharaのステップイベントに「Execute a piece of code」で

if(point_direction(self.x, self.y, obj_mychara.x, obj_mychara.y)<=50)//敵キャラと自キャラとの距離が50ピクセル以下ならば
{
obj_mychara.VarMyhp -= 3//自キャラのHPを3減らす
}

とか書いてやる。但しコレだと毎ステップごとにHPを減らすから、範囲内に入ればとんでもないスリップダメージになるので
一定周期ごととか、減らす量を思いっきり少量にするとか、そういう工夫は必要かと思う。まぁとりあえず がんばれ〜
967966:2008/05/06(火) 00:33:47 ID:HwPOvHtQ
あう間違えてる ごめん
× if(point_direction(self.x, self.y, obj_mychara.x, obj_mychara.y)<=50)
○ if(point_distance(self.x, self.y, obj_mychara.x, obj_mychara.y)<=50)
968名前は開発中のものです。:2008/05/06(火) 00:40:06 ID:m5xvmqWN
>>965 >>967さん
ご返答ありがとうございます。
なるほど、そういう風な式を立てればいいのですか〜
わかりました。ありがとうございました
969名前は開発中のものです。:2008/05/06(火) 03:30:10 ID:HwPOvHtQ
>>968
一応聞いておくけどヘルプファイルもってる?
970名前は開発中のものです。:2008/05/06(火) 11:45:29 ID:m5xvmqWN
>>969だいぶ遅れた返答ですみません。
F1のあれの事ですか?
英語で読めないです。。
971名前は開発中のものです。:2008/05/06(火) 12:57:24 ID:ndOoddgE
gamemakerで作った拡張子exeのゲームをPSPで遊ぶ事は出来ないのでしょうか?
972名前は開発中のものです。:2008/05/06(火) 13:04:37 ID:zKMDMsj4
GameMakerはWindows専用だ。マルチプラットホームなわけねぇだろ。
973名前は開発中のものです。:2008/05/06(火) 18:12:50 ID:iaQXyyj0
英文読んで試行錯誤してる者なんですが、仕様について質問です。
ルームに存在するオブジェクトをそのままにしてルームを移動した時って
移動前のオブジェクトはルームに取り残されるんでしょうか?
残ってしまうと、メモリとか変数管理によく無さそうな印象がありまして;

また、もし破棄されないで残ってしまう可能性があるならば、っとルームに存在する
全てのインスタンスを破棄する時のコマンドを探しているのですが
いまいち分からない状態です。

instance_destroy()
        ↑
         all.xxxxとか?…。

ご教授お願いいたします。
974名前は開発中のものです。:2008/05/06(火) 19:38:24 ID:T+DSiDkg
マニュアルから一部抜粋。

ルーム関連(ルームの移動の際)

First, in the current room (if any) all instances get a room-end event.
Next the non-persistent instances are removed (no destroy event is generated!).

訳:
まず、現在のルームの全てのインスタンスに対してroom-end eventが発生。
次に、non-persistentのインスタンスが削除される。(このとき、destroy eventは発生しない)

面倒だから他は省くけど、要はルーム移動の際に移動前のインスタンスは消されるってこと。
persistentじゃなければ、ね。

ちなみに全てのインスタンスを削除するには、with文を使ったらいいんじゃないかな。
975名前は開発中のものです。:2008/05/06(火) 23:57:36 ID:iaQXyyj0
>>974
なるほど!
ありがとうございます!
976名前は開発中のものです。:2008/05/07(水) 14:23:39 ID:/9oyodVi
シェア版買った人いる?天候エフェクトが個人的に気になってるんだが…
わざわざ一から天候を作るか、あるいはエフェクターに頼るか悩んでるんだ。

というか、普通背景の天候ってどう表現している?
977名前は開発中のものです。:2008/05/07(水) 15:49:13 ID:zHOqCZVz
>>970
> >>969だいぶ遅れた返答ですみません。
> F1のあれの事ですか?
> 英語で読めないです。。

遅れて返答ごめんねぇ
えっと、ヘルプファイルの日本語訳版があるのよ。yoyoにかわって7になってから
公式ではどこにあるかわかんなくなっちゃったけどhogehigeさんとこにもあるねぇ
6バージョンだけど十分使える
GMJ非公式情報サイトのリンク集↓
ttp://gamemaker.main.jp/modules/mylinks/
このページの下から4つ目がhogehigeさんとこにリンクしてる。
内容は1,2日程度で読めると思うからざっくり読んでみ?
役に立つと思うよ〜
978名前は開発中のものです。:2008/05/07(水) 19:18:50 ID:gt5YtGeK
>>976
組み込みのエフェクトはオマケ程度に思っといた方がいいかな。
あまり融通きかないし(大きさ3段階と色くらいしか変更できない)、
縦に長ーいルームだと下の方まで届かないみたいな不具合もあるし。

もちろん、自分でパーティクルを組めばけっこうなことができる。
でも、画面中火花で埋めつくすような派手なことしなければ
通常のスプライトとオブジェクトでも十分用は足りる。
一応レジストしといた方が、加算合成とか使える分だけ表現力も上がるけどね。
979名前は開発中のものです。:2008/05/08(木) 00:05:49 ID:XOSjyJNW
>>977
ここまで事細かに書いてあるのですか
教えていただき、ありがとうございます〜
980名前は開発中のものです。:2008/05/08(木) 00:29:14 ID:SznEXsr7
鎖のような"たるんでる"感じになるように
連続した"鎖"オブジェクトを配置したいと考えているのですが
なかなかうまい方法が思いつきません。

物体Aと物体Bの間を鎖オブジェクトが結んでいるような配置にするとして
物体間の距離が短い時は、鎖をたるませて
距離が長くなると、鎖が引き伸ばされるような演出ってできますでしょうか?

お願いしますorz
981名前は開発中のものです。:2008/05/08(木) 02:15:05 ID:MDYPiLo1
>>978
大中小で色だけ、しかも切れるのか…レスサンクス。ちょっと残念だな。
独自に用意したスプライトを天候に適合できるってのなら、まだ良い演出つくれたかも。

それはそうとシェアじゃないと加算合成はできなかったのか、
そりゃ困るな…、シェア版買ってみるかな…
982名前は開発中のものです。:2008/05/08(木) 10:07:59 ID:Gds/1Kol
>>980
それはGMというより、数学の知識の方が必要だね。
「カテナリー曲線」で調べてみ?
983名前は開発中のものです。:2008/05/08(木) 23:59:36 ID:SznEXsr7
>>982
うぅ、調べてみましたが、難しいんですねぇ。。。

紐の長さ、X軸間の距離からY軸の高さ(たるみ具合)を算出したかったけど
私の頭ではどうも・・・


ありがとうございましたm(__)mペコ
984名前は開発中のものです。:2008/05/09(金) 04:40:36 ID:kRE/rDCD
みなさんは衝突判定ってどうやってます?

衝突判定用コードを作るのはいいんですが
オブジェクト(敵キャラ)の種類が増えた影響で
オブジェクト毎に個別のコードを作らなくてはならないので
管理が難しくなってしまっています。

条件分岐で「何かのオブジェクトから衝突された」が「真」の場合
衝突してきたオブジェクトのインスタンスIDを抜き出して「真」の動作を
行わせたいのですが、何かよい方法はないでしょうか?
985名前は開発中のものです。:2008/05/09(金) 05:46:09 ID:Q2m0sNzP
オブジェクトの継承を利用するのがよいかと。

例えば敵キャラが複数あるなら、次のように改造してみては。
敵キャラオブジェクト(obj_teki)というのを一つ作る。
しかし、obj_tekiには何も実装しないで、実際の敵キャラは別オブジェクトで作る(これは作ってあるものでOK)。
そして、その敵キャラオブジェクトの親オブジェクト(parent)に、obj_tekiを選ぶんだ。
こうした後、自キャラで obj_teki との衝突判定を設けることで、
obj_teki を親オブジェクトに設定した全ての敵キャラとの衝突処理が行えるようになる。

オブジェクトのタイプで条件分岐したければ、other.object_index の値をみればよい。
※ 継承はアドバンスドモードじゃないと使えない

とはいうものの、個人的には、
継承を利用した処理では共通のものだけに留めておいて、
敵キャラに応じた特別な処理がある場合のみ、
敵キャラのほうで処理させるほうがいいような気もする。
986名前は開発中のものです。:2008/05/09(金) 13:44:19 ID:kRE/rDCD
>>985
そんな方法が…、ありがとうございます。
なるほど、やっぱりレジスト必要なんですねぇ。

レジストで使いたい機能が増えてきたんで
さっき、決済してきました。

うーん、プロダクトキー発行って結構時間かかるものなんですかねぇ?
クレジット決済なら即発行ってイメージを勝手に持ってたので
未だに届かなくて不安ですねぇ
987名前は開発中のものです。:2008/05/09(金) 13:46:25 ID:gDIxCEqd
アドバンスドモードはレジストする必要がないぞw
988名前は開発中のものです。:2008/05/09(金) 14:11:31 ID:kRE/rDCD
6.1Aなんですが

object_set_parent(id,obj_mob) で
「This function is only available in the registerd version.」を
吐かれているんですが、これってレジスト限定では?と思ったのですが


いずれにしても、「image_angle」とか使いたかったんで
早とちり決済ではないんですが

むしろ、さっきやった決済画面で入力ミスってないかどうかが心配…
プロダクトキーまだかな。。。
989名前は開発中のものです。:2008/05/09(金) 19:42:41 ID:LcL1siXe
>>988
ゲーム実行時にリソースを変更する機能は、確かにレジスト限定ですね。
parent設定は、オブジェクトの編集画面の左側でできますよ。

レジスト関連については、>>566-572 >>574 が参考になるかと…。
990名前は開発中のものです。:2008/05/09(金) 21:10:43 ID:Fb9VS2l9
日本ってノベルやRPG作るツールは結構作られてるんだよな
まあ探せば色々ジャンル別に製作ツールあるんだが
991名前は開発中のものです。:2008/05/10(土) 21:04:53 ID:lJro9tCk
1000も近くなんですが、質問させてください。

コマンドには「if」と「else」がありますが
「elseif」ってコマンドは存在しないでしょうか?
ヘルプにも無さそうだったので…

いつも以下のような書き方をしていまして、見た目がよろしくない状態です。

if
{
---A---
}
else
{
if
{
---B---
}
else
{
---C---
}
}

何か他にうまい方法は無いでしょうか?
992名前は開発中のものです。:2008/05/10(土) 21:25:52 ID:fsMtXR8Q
else if でいい。
あと、場合によってはswitch文の方がいいときもある。念の為。
993名前は開発中のものです。:2008/05/10(土) 21:43:17 ID:lJro9tCk
>>992
( ゚Д゚)Σ
そうすれば{}でわざわざククル必要も無くなるっと…
そんなに簡単な事だったのですか… orz (イママデノクロウハ…)
ありがとうございます!助かります!
994名前は開発中のものです。:2008/05/10(土) 22:16:44 ID:ZTqrrlup
また質問に来ました。
http://www.arcadetown.com/deadfrontiernighttwo/gameonline.asp
新しく上のアドレスのゲームみたいな物を作りたいと思うのですが、
以下の事がわかりません。。GMLはあまりわからないので、
なるべくイベントとアクションで教えていただけるとありがたいです。
わからない事
・マウスポインタの画像変更
・マウスの方向によって画像を変更する
・マウスの方向に弾を撃つ(オブジェクトを作成し、移動させる)

教えてください。
995名前は開発中のものです。:2008/05/11(日) 01:42:28 ID:PRhlwPyW
次スレ

【2D】ゲーム作成ツールGameMaker part3【マンセー】
http://pc11.2ch.net/test/read.cgi/gamedev/1210437707/
996名前は開発中のものです。:2008/05/11(日) 02:11:17 ID:AX4c16UA
>>995 乙です。

>>994
1番目はextraタブにあるマウスカーソル型のアイコン
3番目はmoveタブにある「Move in the direction of a point」
(矢印が青丸を指しているやつ)で移動先に mouse_x, mouse_y を指定。
あるいは「Create an instance with a motion」(豆電球+矢印)を使って
directionの所に point_direction(x, y, mouse_x, mouse_y) と入れてもいい。

で、2番目はGM6以上使ってるなら image_angle = direction で終わり。
GM5以前、あるいは向きによって複数のイメージを使い分ける必要があるなら
directionの値によってイメージを選ぶようなコードを書かなくちゃいけない。
997名前は開発中のものです。:2008/05/11(日) 13:02:06 ID:cmOvm32X
>>995 お疲れ様です

>>996
なるほど。ご返答ありがとうございます。
早速いじってきます〜ありでした〜
998名前は開発中のものです。:2008/05/11(日) 14:02:50 ID:cmOvm32X
やっててわからないので再び聞かせていただきます。
もう1000近いので、いざという場合は次スレに返答をよろしくお願いします。
>>996さんの文の
1番目のアイコンは使うにはレジストが必要という解釈でいいですよね?
レジスト。。してみようと思います。
そして、
>で、2番目はGM6以上使ってるなら image_angle = direction で終わり。
>GM5以前、あるいは向きによって複数のイメージを使い分ける必要があるなら
>directionの値によってイメージを選ぶようなコードを書かなくちゃいけない。
との文章がありますが、そのimage_angle = direction はどこに書き込めばいいのでしょうか
返答をお願いします。
999名前は開発中のものです。:2008/05/11(日) 15:22:09 ID:AX4c16UA
>>998
かわりにゲームオプションでカーソルを表示しないように設定して
カーソルと同じ位置(mouse_x, mouse_y)に自作のオブジェクトを
表示する方法でもいける。

image_angle = directionってのは変数を設定する時の書式ね。
Set the value of a variable(VARと書かれた四角)を置いて
variableの欄にimage_angle、valueの欄にdirectionと入れる。
ってimage_angleもレジストしてないと使えないか。

レジストしてない場合、コードを書く必要があるけど
向きごとに別々にスプライトがあるのかそれともフレームが分かれてるのか、
全部で何方向あるのかとかで対応が違う。
まあ、何方向でも構わないからなるべくスムーズにしたいというのなら
1. スプライトエディタで Animation > Rotation Sequenceの機能を使って
360°分回転させたイメージを作る(36フレームくらいがおすすめ)
2. StepイベントでVARアクションを使って次の変数を設定
image_single = direction / 360 * image_number

あと、画像を変更したいオブジェクトが弾じゃない(動いてない)場合は
「direction」の部分を「point_direction(x, y, mouse_x, mouse_y)」に変えてみて。
1000名前は開発中のものです。:2008/05/11(日) 15:35:02 ID:cmOvm32X
>>999
大体すべきことはわかりました。
ゲームオプションでマウスを消す方法って物がわからないので、
それを次スレで聞かせていただきます。

なお、このレスが1000であればGame Makerでゲームを作っている人は技術が向上します。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。