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

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2005/07/12(火) 09:03:47ID:DK0oUKwt
無料Windows用2Dゲーム作成ツール"Game Maker"について、色々と語り合うスレッドです。

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


前スレ: 【2D】ゲーム作成ツールGameMaker【マンセー】
http://pc8.2ch.net/test/read.cgi/gamedev/1087068523/
0567名前は開発中のものです。2007/11/11(日) 12:00:56ID:oO8sNPsb
>>566
メールにアクチベーションコードが記されていましたか?
されていれば、それを入力することでLite版からPro版にアップグレードできます。

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

このメールとは別に、暫く待てば
アクチベーションコードが記載されたメールが来るのでしょうか?
0569名前は開発中のものです。2007/11/11(日) 17:34:56ID: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以下から入力したとき成功した気がします。
0570名前は開発中のものです。2007/11/11(日) 18:04:58ID:oO8sNPsb
後一つ、[Enter Activation Code]で出てくる最初の画面では、
デフォルトでRe-Install Existing Lisence(既存のライセンスを再インストール)となってて、再アクチの入力画面ですので注意してください。
新しいライセンスは、上のActivate New Licence(新しいライセンスをアクチベーション)を選択した後入力してください。
05715662007/11/11(日) 22:17:10ID: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桁の英数字」で入力しても、はじかれてしまいます。
どなたかわかる方はおられませんでしょうか…。
0572名前は開発中のものです。2007/11/12(月) 00:47:58ID: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 support@softwrap.com
>

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

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

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

移動している間は移動モーション(walk_right etc...)を表示し、
動きを止めると立ち(stund)モーションにしたいのですがうまくいきません。
どうしたらいいのでしょうか。
0582名前は開発中のものです。2007/11/17(土) 09:28:38ID: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コマ変化する。
0583名前は開発中のものです。2007/11/17(土) 22:59:12ID:ZhTdG7VC
Move towards a pointをGMLで書くにはどうすればいいんでしょうか
ほかののコードも知りたいのですが
一覧表みたいなのがあれば教えてくださるとうれしいです
0584名前は開発中のものです。2007/11/18(日) 03:52:47ID:dZTdlxUn
Move towards pointはそのまんまmove_towards_pointだすよ。
つttp://www.blackratstudios.com/games/dnd_to_gml/dnd_to_gml.html
0585名前は開発中のものです。2007/11/18(日) 07:17:44ID:8No17c3/
イベントの最中ウェイトのように時間をとめたいのですがウェイトを使うと背景やキャラの動きも停止してしまいます
ウェイト以外で時間を止めるにはどのようにすればいいでしょう。
0586名前は開発中のものです。2007/11/18(日) 09:45:04ID:0g2iccNJ
動かしたくないものをとめて動かしたいのだけ動かす。
そういう仕組みを作るんだよ。コマンド一つじゃあできない。
0587名前は開発中のものです。2007/11/19(月) 18:24:01ID:Sx6ObIFS
マリオのブロックの様に下から殴れるブロックはどうすれば作れるのでしょうか?
0588名前は開発中のものです。2007/11/19(月) 22:25:53ID: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に変えたりしたのですが無理でした
教えてくださるとうれしいです
05895412007/11/19(月) 23:07:23ID:jkHOQwoD
>>582
ありがとうございます。

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


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

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

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

WinXP PRO sp2
VRAM32mb
MEM1G
GM7

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

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

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

>>595
移動する直前にいた位置を示すxprevious,yprevious、
移動した後の位置(現在の位置)を示すx,yという変数が
デフォルトで存在するので、それらを活用するといい。
0597名前は開発中のものです。2007/11/22(木) 00:12:30ID: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() あたりを使用してください。
0598名前は開発中のものです。2007/11/22(木) 00:35:47ID:UQGy8J0/
>>592
説明書plz!
0599名前は開発中のものです。2007/11/22(木) 00:48:22ID:xbPHpoIO
>>596
ありがとうございます。
0600名前は開発中のものです。2007/11/22(木) 01:25:56ID:Z2DrGOi5
>>597
おおでけた\(^o^)/
ありがとうございます

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

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

見たいなところ押すと始まる
なんてつまらないゲーム\(^o^)/
0601名前は開発中のものです。2007/11/22(木) 16:23:18ID: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ボタンをクリックする仕様です
0602名前は開発中のものです。2007/11/24(土) 10:47:25ID:yxZvhkIv
非公式情報ページのアンケートでGM6利用者が圧倒的に多かったから
6をDLしようとしたら公式に前のバージョン落ちてない\(^o^)/
0603名前は開発中のものです。2007/11/24(土) 11:08:07ID:Ni6Xllr/
yoyogamesは7.0以降しか版権がないからね。
旧公式から前のバージョンを落とせるよ。
ttp://www.gamemaker.nl/old.html
下のほうに旧バージョンの一覧がある。

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

それと、EmEditorの構文ファイルを作ってみたけど需要ある?
0605名前は開発中のものです。2007/11/25(日) 01:48:28ID: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) ;
0606名前は開発中のものです。2007/11/25(日) 02:06:45ID:vBlAV7Zz
Draw Event: 内は削除して、if文のコードを以下のように変更、じゃだめかな
if (mode_visible) {
//スプライト指定にすることで可視化
atariid.sprite_index = spr_attack;
atariid.visible = true;
}
0607名前は開発中のものです。2007/11/25(日) 03:24:21ID:Eof1yOl+
>>606
それですと、元スプライトが――小妖精から直すの忘れてました――
1ドット絵ですので、□でなくて■で表示されてしまうんです。

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

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

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

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

ここの翻訳がわかりません。
一行目は、ESC で終了でいいのでしょうが2行目が・・・
どうか教えてください。
0617名前は開発中のものです。2007/11/29(木) 00:46:50ID: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 アクションを起こす。
0618名前は開発中のものです。2007/11/29(木) 01:07:06ID:2O8VJSxX
>>617
おぉ、ありがとうございます。

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

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

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


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

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

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

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

その作成したオブジェクトは、シューティングのオプションでしてキャラの周り(1つめは上、2つ目は下)という風に出現場所を変えたいのです。
0637名前は開発中のものです。2007/12/02(日) 03:42:50ID: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

上記はキャラの上に配置されるようになる例。数値適当にかえてくれ。
0638名前は開発中のものです。2007/12/02(日) 04:42:57ID: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 の値を決めればいい。
0639名前は開発中のものです。2007/12/02(日) 05:25:36ID:4Kr9+zdR
それはそうと、>>601 のアイディアを元に、
>>552 の要望にこたえられそうなAutoHotKey のショートカットマクロが出来た。
Execute Code ウィンドウでも、 Script Properties ウィンドウでも、即確定して閉じる。
http://gamdev.org/up/img/10645.zip

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

途中、命令をコメント文で囲っていますが、気にしないでください。
0655名前は開発中のものです。2007/12/06(木) 23:41:29ID:x5GKX6Js
動きのあるオブジェクトを動きのあるオブジェクトにチェンジすると
スプライトが1から表示されない時があるのですが解消方法はありますか?
0656名前は開発中のものです。2007/12/07(金) 00:45:55ID:4eA37li8
上のほうで言っていた翻訳の奴あげてホスィ
paypalで1000円までなら支払ってもイイ
0657名前は開発中のものです。2007/12/07(金) 00:58:23ID:+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 のエラー表示はなくなりました。
こんなことが起こるんですねぇ・・・。

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

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

3キャラ分横に移動させて止めるって方法教えてください
0659名前は開発中のものです。2007/12/07(金) 02:26:02ID:+n/vdyUz
態度というか、結果だけを求める質問をされても、
前提となる部分が何もないと回答が無数にあるため、答えようがないというのが正直なところでして。
前提となる部分を回答する人が想像して答えようとしても、えらい長くなるから面倒だしスルーってなりやすいですし。
(というか、1から作るやり方をいうようなもんですし)
こうやってるんだけどうまくいかない等、詳しい情報がないと手助けしてくれる人の可能性が低くなりやすいですよ。どうしようもないのが本音です。
0660名前は開発中のものです。2007/12/07(金) 02:40:14ID: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すると地面となる
オブジェクトと接触してる間はちょっしか移動しないし、ジャンプとかすると
そのまま画面の端まで移動しちゃうんですよね。

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

エラー表示が消えました。ありがとうございましたm(_ _)m
0662名前は開発中のものです。2007/12/07(金) 22:00:35ID: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内で繰り返し終了まで処理することになるので、上のような意味にはならない。
技発動中に操作させたくなければ、キー入力を拾う部分でそういうフラグも設けること。
0663名前は開発中のものです。2007/12/08(土) 02:21:58ID: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);
 }
}
0664名前は開発中のものです。2007/12/08(土) 07:47:24ID:qBb/GgCE
>>663
draw系の関数はdrawイベント中にしか効果がないよ。
画面に描画する機能なんだけど、drawイベントに入った最初に背景色や背景画像で全体を描画してしまうので、描いても消されてしまう。

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

あ、すいません、これはdrawイベントに書いてます。
なのに一瞬で消えてしまうからナンダロウなーと。
深度を指定して試してみるっす。
0666名前は開発中のものです。2007/12/08(土) 20:46:46ID:Cn07bZV4
draw_sprite_stretchedが
if keyboard_check_pressed(ord('X')) {
}
の内側にあるから、キーを押した瞬間しか
描画されないんじゃないかな
■ このスレッドは過去ログ倉庫に格納されています