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


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

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



1 名前:名前は開発中のものです。 [2005/07/12(火) 09:03:47 ID:DK0oUKwt]
無料Windows用2Dゲーム作成ツール"Game Maker"について、色々と語り合うスレッドです。

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


前スレ: 【2D】ゲーム作成ツールGameMaker【マンセー】
pc8.2ch.net/test/read.cgi/gamedev/1087068523/

540 名前:名前は開発中のものです。 mailto:sage [2007/11/07(水) 10:27:56 ID:lUo/Ckqn]
砲台を常に自キャラの方向に向けるのってどうやったらいいのでしょうか
stepイベントとset varを使うような気がするのですが…

541 名前:名前は開発中のものです。 mailto:sage [2007/11/07(水) 22:06:45 ID:mZ/mosz1]
>>539
ありがとうございます。

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

自分は根本的に何か勘違いしているのでしょうか。

542 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/11/07(水) 22:21:53 ID:HXVYqugh]
ごめ、訂正。↑の最終行は「3つめの変数は」ではなく「3つめの引数は」です。

545 名前:名前は開発中のものです。 mailto:sage [2007/11/07(水) 22:27:00 ID:HXVYqugh]
ほんとにごめん、訂正その2 orz
>>543の例だと表示はいいかもしれないが、当たり判定とかまずいな。
変数名はdrawSpr ではなく、 sprite_index としてください。

546 名前:名前は開発中のものです。 mailto:sage [2007/11/07(水) 22:45:10 ID:mZ/mosz1]
>>545
!!!
うごきました。 狙った通りの動きをしてくれました。
ありがとうございます。 コードってすごいですね。

splite_index で動作しました。


547 名前:名前は開発中のものです。 mailto:sage [2007/11/08(木) 00:01:11 ID:d2+xWEQm]
>>542
つpoint_direction

548 名前:542 mailto:sage [2007/11/08(木) 00:13:09 ID:1Yl9ePE9]
>>547
すっかり忘れてますた。。。吊ってキマツ....
λ.................



549 名前:名前は開発中のものです。 mailto:sage [2007/11/08(木) 00:28:00 ID:/npJWupm]
初心者です。
弾があたったらHPを減らすようにしたいのですがどうしたらいいのですか?

550 名前:名前は開発中のものです。 mailto:sage [2007/11/08(木) 09:51:24 ID:/npJWupm]
すいません解決しました。
ヘルスメーターを複数設置することってできますか?

551 名前:名前は開発中のものです。 mailto:sage [2007/11/08(木) 12:51:44 ID:n3szi+FF]
>>550
まずは聞く前に>>1の情報サイトを見ることから始めないか?

552 名前:名前は開発中のものです。 mailto:sage [2007/11/08(木) 18:55:03 ID:lBo37aAD]
質問です。

コードをうつ内蔵のエディターで、「Ok,Save Changes」のボタンのショートカットキーか
他のエディターを使用する等はないでしょうか。

553 名前:名前は開発中のものです。 mailto:sage [2007/11/08(木) 20:46:09 ID:nEyNxx0n]
内臓のコードエディタのウィンドウを閉じる動作をショートカットキーでやりたいって意味なら、無理かも…。
外部のテキストエディタを指定することは可能です。
FileメニューからPreferance を開くと、Script&code とあるので、
その一番下のところに外部エディタを指定するところがあります。

554 名前:名前は開発中のものです。 mailto:sage [2007/11/08(木) 20:57:31 ID:lBo37aAD]
>>553
ありがとうございます。できました。
しかし、外部エディタを使うとgamemaker自体が閉じるんですね。
外部エディタを終了すると、gamemakerが戻ってきますが。

555 名前:名前は開発中のものです。 mailto:sage [2007/11/09(金) 01:24:06 ID:jfoeydIJ]
ファイルから文字列を取得する方法は上記のでてたやり方でわかったんですが、
それらを変数として扱うやりかたがまだわかりません。

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

という内容で機体データを読み込んだ時に
変数として扱いたいんです。
どうすればいいのでしょうか。

556 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/11/09(金) 02:14:59 ID:UPA3QoAL]
敵が味方に向かってくるようにはできますか?
調べてもわからないので教えてくれるとありがたいです。

558 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/11/09(金) 18:09:43 ID:jfoeydIJ]
今更ですが、7をやめて5.3Aを使用したほうが良いのでしょうか・・・

560 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/11/09(金) 19:07:33 ID:jfoeydIJ]
>>560
ありがとうございます。
file_text_open_readで呼び出したIDじゃないと受け付けないと思いこんでました。
無事、読み込みました。

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


それとは別の事なのですが、やっていて不思議に思ったのですが、
1つのイベント内で記述した変数は、他のイベント内で使用できないのですね。
オブジェクト内すべてで(varやglobalを使わない)変数を使えると思ってました。

562 名前:名前は開発中のものです。 mailto:sage [2007/11/09(金) 22:30:00 ID:jfoeydIJ]
・・・連続ですいません。
今、ちょっと試しにexe化したんですが、上記の外部ファイルを読み込む方法だと
exe化したあとでもその外部ファイルが必要なのだとエラーが出てしまいました。

全てを内包してexe化する方法はないのでしょうか。

563 名前:名前は開発中のものです。 mailto:sage [2007/11/10(土) 23:10:13 ID:Rkru7jD1]
今日レジストしました。
サクサクっと指示されままボタンおしてると、本体起動してないのに勝手にレジスト状態になってました。ビックリ。

564 名前:名前は開発中のものです。 mailto:sage [2007/11/11(日) 00:53:12 ID:dEP/qcYk]
え・・・

565 名前:名前は開発中のものです。 mailto:sage [2007/11/11(日) 00:58:48 ID:PY4Qhhzp]
詳しくいうとpaypalで支払って、HTMLで指示にしたがって終了したあと
初起動でレジスト状態でした、ということです。

566 名前:名前は開発中のものです。 mailto:sage [2007/11/11(日) 07:17:37 ID:Ai+8m8uK]
3日前にクレジットカードでGameMaker7を購入し、
「Confirmation - Purchase of Game Maker」というメールが届いたのですが、
ここからどうしたらレジストできるかわかりません。
どうしたら良いのでしょうか。

567 名前:名前は開発中のものです。 mailto:sage [2007/11/11(日) 12:00:56 ID:oO8sNPsb]
>>566
メールにアクチベーションコードが記されていましたか?
されていれば、それを入力することでLite版からPro版にアップグレードできます。

yoyogamesからLite版のgamemakerをダウンロードしてきてインストールし、実行すると
Upgrade to the Pro Edition という画面が出てきます。
[Enter Activation Code]とありますので、そこをクリックします。
(出てきた画面が英語なら、下のほうにlanguageとありますので、日本語に変えることができます)
[新しいライセンスをアクチベーション]の項にいき、必要な情報を入力すると完了です。

568 名前:566 mailto:sage [2007/11/11(日) 16:52:35 ID:Ai+8m8uK]
>>567
コードらしきものは
「Purchase Reference」というものしか記載されていませんでした。
試しにこれを入力しても、はじかれてしまいます。

このメールとは別に、暫く待てば
アクチベーションコードが記載されたメールが来るのでしょうか?



569 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/11/11(日) 18:04:58 ID:oO8sNPsb]
後一つ、[Enter Activation Code]で出てくる最初の画面では、
デフォルトでRe-Install Existing Lisence(既存のライセンスを再インストール)となってて、再アクチの入力画面ですので注意してください。
新しいライセンスは、上のActivate New Licence(新しいライセンスをアクチベーション)を選択した後入力してください。

571 名前:566 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/11/12(月) 00:47:58 ID:SMPr5R3+]
状況がちょっと違うようですが、
ある人が一週間ライセンスが届かない、とsoftwrap(ライセンスを管理しているところ)に問い合わせたところ以下のメールが返信された、という例がありました。
URL: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 からやるようですね。もしまだ試してないのであれば、試してみてください。

573 名前:名前は開発中のものです。 mailto:sage [2007/11/12(月) 01:38:54 ID:X/VZL/ZV]
空気読まずにすみません
アクションゲームでキャラがダメージを受けたとき一定時間無敵時間を作りたいのですがどのようにすればいいでしょう。

574 名前:566 mailto:sage [2007/11/12(月) 02:57:08 ID:XPKJHwMR]
>>572
わざわざ調べていた様で、ありがとうございました!
その方法で出来ました!
ずっとわからずに困っていたので助かりました。

575 名前:名前は開発中のものです。 mailto:sage [2007/11/12(月) 09:20:30 ID:zbFXrWjk]
>>573
空気は読まなくてもいいが、過去ログは読めよ。
このスレのログだけでもヒントは書いてあるぞ。

576 名前:名前は開発中のものです。 mailto:sage [2007/11/13(火) 14:48:20 ID:F+NwYmav]
非公式の上級者フォーラムにトピック3投稿数13となってるけど、
開いたら何も無いんだけど、見えてないの俺だけ?

577 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [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

581 名前:541 mailto:sage [2007/11/17(土) 01:58:15 ID:6kTW/Ms/]
すいませんご教授ください。

gamdev.org/up/img/10541.zip

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

移動している間は移動モーション(walk_right etc...)を表示し、
動きを止めると立ち(stund)モーションにしたいのですがうまくいきません。
どうしたらいいのでしょうか。

582 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/11/18(日) 07:17:44 ID:8No17c3/]
イベントの最中ウェイトのように時間をとめたいのですがウェイトを使うと背景やキャラの動きも停止してしまいます
ウェイト以外で時間を止めるにはどのようにすればいいでしょう。

586 名前:名前は開発中のものです。 mailto:sage [2007/11/18(日) 09:45:04 ID:0g2iccNJ]
動かしたくないものをとめて動かしたいのだけ動かす。
そういう仕組みを作るんだよ。コマンド一つじゃあできない。

587 名前:名前は開発中のものです。 [2007/11/19(月) 18:24:01 ID:Sx6ObIFS]
マリオのブロックの様に下から殴れるブロックはどうすれば作れるのでしょうか?


588 名前:名前は開発中のものです。 mailto:sage [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に変えたりしたのですが無理でした
教えてくださるとうれしいです




589 名前:541 mailto:sage [2007/11/19(月) 23:07:23 ID:jkHOQwoD]
>>582
ありがとうございます。

ドット絵とか、本当ゲーム作りは難しいですね。

590 名前:名前は開発中のものです。 mailto:sage [2007/11/20(火) 04:30:47 ID:wcKOJeK1]
GM7で、横スクロールアクションを作っています。
ボタンを押して剣を振るようにしたいのですが、
押している間、ずっとマシンガンのように連発してしまいます。
ロックマンX等に出てくるゼロのように単発で出したり
コンボをつなげられるようにしたいです。
GMLは勉強中で、まだあまりわかりませんが、どうしたら良いのでしょうか。

591 名前:名前は開発中のものです。 mailto:sage [2007/11/20(火) 15:12:19 ID:2h9OV+2N]
>>590
keyboardじゃなくkeyPressでやるといいと思うよ!よ!
フォーラムにのってると思うんだけどな・・

592 名前:名前は開発中のものです。 mailto:sage [2007/11/21(水) 05:25:51 ID:aCno3jIs]
www6.uploader.jp/dl/kakenn3/kakenn3_uljp00004.zip.html
俺なにつくってんだろ\(^o^)/


これ知ってる人いないよな。。?

593 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/11/21(水) 23:05:33 ID:o5zLLD5X]
あるオブジェクトが、上昇中はスプライトA下降中はスプライトBで表示したいんですが、
落下する時の表示ができません。

移動する前の地点と移動した後の地点の変数を取得する方法はありますか?
それよりスマートな方法はありますか?

596 名前:名前は開発中のものです。 mailto:sage [2007/11/21(水) 23:16:25 ID:kronrROz]
>>593
乙です。
俺は初代スレを見る事ができないので、
そこでなされたQ&Aが見られる事は有難いことです。

>>595
移動する直前にいた位置を示すxprevious,yprevious、
移動した後の位置(現在の位置)を示すx,yという変数が
デフォルトで存在するので、それらを活用するといい。

597 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/11/22(木) 00:35:47 ID:UQGy8J0/]
>>592
説明書plz!



599 名前:名前は開発中のものです。 mailto:sage [2007/11/22(木) 00:48:22 ID:xbPHpoIO]
>>596
ありがとうございます。

600 名前:名前は開発中のものです。 mailto:sage [2007/11/22(木) 01:25:56 ID:Z2DrGOi5]
>>597
おおでけた\(^o^)/
ありがとうございます

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

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

見たいなところ押すと始まる
なんてつまらないゲーム\(^o^)/

601 名前:名前は開発中のものです。 mailto:sage [2007/11/22(木) 16:23:18 ID:xbPHpoIO]
>>552
AutoHotkey というソフトで解決できた。
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 名前:名前は開発中のものです。 mailto:sage [2007/11/24(土) 10:47:25 ID:yxZvhkIv]
非公式情報ページのアンケートでGM6利用者が圧倒的に多かったから
6をDLしようとしたら公式に前のバージョン落ちてない\(^o^)/

603 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/11/24(土) 17:08:16 ID:4xZfNBY3]
7.0 は、今年の3月リリースからバージョンアップとかの情報ないっすか?

それと、EmEditorの構文ファイルを作ってみたけど需要ある?

605 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/11/25(日) 02:06:45 ID:vBlAV7Zz]
Draw Event: 内は削除して、if文のコードを以下のように変更、じゃだめかな
if (mode_visible) {
//スプライト指定にすることで可視化
atariid.sprite_index = spr_attack;
atariid.visible = true;
}


607 名前:名前は開発中のものです。 mailto:sage [2007/11/25(日) 03:24:21 ID:Eof1yOl+]
>>606
それですと、元スプライトが――小妖精から直すの忘れてました――
1ドット絵ですので、□でなくて■で表示されてしまうんです。

元スプライトを□で書いてみたんですが、オブジェクト拡大時
やたらと輪郭のボケた表示になってしまいました。
はっきりとした線(□)で表示したいのです。

608 名前:名前は開発中のものです。 mailto:sage [2007/11/25(日) 10:01:18 ID:r1aVIhHY]
ミックマンすげーな



609 名前:名前は開発中のものです。 mailto:sage [2007/11/25(日) 11:28:56 ID:qQuswX/z]
>>608
俺は昨日遊んでショックを受けたよ…。
gamemakerってもっさりしたゲームしか作れないものだと思ってたから。

610 名前:名前は開発中のものです。 mailto:sage [2007/11/25(日) 11:47:25 ID:vBlAV7Zz]
>>607
枠で表示したかったら、obj_atarihantei の Drawイベントで draw_rectangle() を使って表示するのが一番スマートかな。
塗りつぶされて見えないのが嫌だったんなら、半透明にする手もあるけど。
ローカル変数 image_alpha を0.5ぐらいに設定すれば、半透明になる。

611 名前:名前は開発中のものです。 mailto:sage [2007/11/25(日) 22:25:10 ID:nQKNJKcw]
起動が遅い・・・
GM5.3Aで7.75Mの容量くらい作ったけど起動のローディングが15秒くらいになった
やっぱマシンがへこいとローディング長くなるんでしょうか?

ルームは幅1000高さ700でスプライトは高さ300幅400とか多く、113個くらい作った
まだ音入れてないのに動作確認だけで日が暮れる状態です・・・
ビデオメモリの使用をやめて遅延ロードとか考えた方がいいんで・・・しょうか・・・

612 名前:名前は開発中のものです。 mailto:sage [2007/11/27(火) 17:29:34 ID:Kfsg319Y]
いくつか遅延ロード入れればおk

613 名前:名前は開発中のものです。 mailto:sage [2007/11/27(火) 22:05:08 ID:o7JCBwEc]
ありがd
とりあえず遅延を適当に入れて調整してみる

614 名前:名前は開発中のものです。 mailto:sage [2007/11/27(火) 22:37:33 ID:03pWBi0H]
>>613
ゲームの途中でロードする背景とかスプライトとかを中心にね。
最初から使う奴は入れて

615 名前:名前は開発中のものです。 mailto:sage [2007/11/28(水) 02:34:13 ID:IKhE5IEH]
>>609
あれはスプライトのアニメーションでうまく見せてるんだろうね。
ドット絵を描けない俺としては尊敬するほどに羨ましい。
あれくらいの領域のゲームを作りたいと思って始めたんだがなかなか・・・

616 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/11/29(木) 01:07:06 ID:2O8VJSxX]
>>617
おぉ、ありがとうございます。

E-WordChanger2000で変換がきかないところが多々ありますね。



619 名前:名前は開発中のものです。 mailto:sage [2007/11/30(金) 16:26:11 ID:JpK40a/w]
E-WORD2000 での辞書ファイルです。

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

gamdev.org/up/img/10638.zip

620 名前:名前は開発中のものです。 mailto:sage [2007/11/30(金) 16:27:29 ID:JpK40a/w]
E-WordChanger2000でした

621 名前:名前は開発中のものです。 mailto:sage [2007/12/01(土) 00:20:12 ID:do+f7uIl]
>>619
全然翻訳できてねーじゃねーかwwww
俺も今同じく翻訳中だけど、あれなんだよな、有料版の部分の翻訳が出来ないorz
それと、ボタンが文字化ける
冒頭のアクティベート部分も化ける
文字化けさえ克服できれば後一歩なんだが

622 名前:名前は開発中のものです。 mailto:sage [2007/12/01(土) 01:05:45 ID:NJujLxPi]
>>621
未レジストって事?
俺レジストしてるよ。
物ちょうだい。

623 名前:名前は開発中のものです。 mailto:sage [2007/12/01(土) 02:19:17 ID:do+f7uIl]
時間がなくなったと、途中で放棄して、他人に丸投げするかと思えば
すぐさま、他人の手柄を丸々よこせと言ってみたりする

624 名前:名前は開発中のものです。 mailto:sage [2007/12/01(土) 02:38:10 ID:NJujLxPi]
寄越せといってみたりしたが別人だ

625 名前:名前は開発中のものです。 mailto:sage [2007/12/01(土) 02:47:00 ID:2L8kwVBd]
>>623
共有してくれる意志があるならしてもらえると助かるな。

626 名前:名前は開発中のものです。 mailto:sage [2007/12/01(土) 03:02:43 ID:2L8kwVBd]
と思ったけど自由意志だな。
すまない、今のは忘れてくれ。

627 名前:名前は開発中のものです。 mailto:sage [2007/12/01(土) 03:09:01 ID:NJujLxPi]
620でてこいよ疑われてるぞ

628 名前:名前は開発中のものです。 mailto:sage [2007/12/01(土) 03:15:52 ID:NJujLxPi]
氏ね!111!!11
うpる気ないなら初めから書くなバーカ!!!!
どーせろくなもん作ってないんだろwwwww



629 名前:名前は開発中のものです。 mailto:sage [2007/12/01(土) 03:18:38 ID:NJujLxPi]
>>626
何が自由意志だ! 格好良いとおもってんのかよ(プ
早くクソして寝ろwwwwwwwwwww

630 名前:名前は開発中のものです。 mailto:sage [2007/12/01(土) 03:44:02 ID:do+f7uIl]
初めから、誰もうpするなんて言ってない件
つーか、>>625になら渡してもいいけど
でも本当は完成してからうpしたいな

631 名前:名前は開発中のものです。 mailto:sage [2007/12/01(土) 03:44:02 ID:NJujLxPi]
ごめんなさい日本語ください
間違えられたのが悔しかったんだ
抜いたら落ち着いた

632 名前:名前は開発中のものです。 mailto:sage [2007/12/01(土) 03:44:37 ID:do+f7uIl]
>>631Vipへカエレ


633 名前:名前は開発中のものです。 mailto:sage [2007/12/01(土) 03:45:45 ID:NJujLxPi]
オマエモナー 


く、悔しくないからな

634 名前:名前は開発中のものです。 mailto:sage [2007/12/01(土) 03:47:07 ID:p7Hahl+U]
今度はGameMakerスレで沸いてるのか。
前はツクールスレだったな。

635 名前:名前は開発中のものです。 mailto:sage [2007/12/02(日) 03:21:15 ID:RfbAwBK6]
質問です。

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

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

でやっているのですが、その場所で留まっています。

636 名前:名前は開発中のものです。 mailto:sage [2007/12/02(日) 03:26:46 ID:RfbAwBK6]
忘れていました。

その作成したオブジェクトは、シューティングのオプションでしてキャラの周り(1つめは上、2つ目は下)という風に出現場所を変えたいのです。

637 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/12/02(日) 05:25:36 ID:4Kr9+zdR]
それはそうと、>>601 のアイディアを元に、
>>552 の要望にこたえられそうなAutoHotKey のショートカットマクロが出来た。
Execute Code ウィンドウでも、 Script Properties ウィンドウでも、即確定して閉じる。
gamdev.org/up/img/10645.zip

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

・・・もう5時半かorz  おやすみなさい

640 名前:名前は開発中のものです。 mailto:sage [2007/12/02(日) 05:59:41 ID:RfbAwBK6]
>>638
その記述でうまく予定通りの動作にすることができました。
ありがとうございました。

遅くまでお疲れ様でした。
お休みなさい。






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

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

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