[表示 : 全て 最新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/

492 名前:名前は開発中のものです。 mailto:sage [2007/10/19(金) 18:06:04 ID:Vl0npn9t]
bGMについての質問なのですが
曲Aが流れているときにちょっとした短い曲Bを流したいのですが
「曲A一時停止>曲B再生>曲B終了>曲Aを一時停止の時点から再開」という風にするにはどうしたらいいのでしょう

493 名前:名前は開発中のものです。 mailto:sage [2007/10/19(金) 22:59:25 ID:6RGcBw98]
公式のゲームは起動する時create with game makerって出てこないけど
これを消すのはliteでもできる?

494 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/10/21(日) 00:27:43 ID:1O8dqLnR]
これって日本語化出来る5.3使った方が良いのか?

496 名前:名前は開発中のものです。 mailto:sage [2007/10/23(火) 20:19:08 ID:1Dn54OyY]
7について説明してくれているサイトとかありますか?
7は日本語化できますか?

497 名前:名前は開発中のものです。 mailto:sage [2007/10/23(火) 20:39:07 ID:1Dn54OyY]
すいません。

日本語のヘルプはどこでダウンロードできますか。
>228さんのchmでは、書かれていない部分があります。
それを補うにはどうすればいいですか。

498 名前:名前は開発中のものです。 mailto:sage [2007/10/24(水) 18:24:35 ID:CNVx+st/]
止まってるな、1を見たら2年前だし

499 名前:名前は開発中のものです。 mailto:sage [2007/10/24(水) 21:53:11 ID:WgthXhdI]
>>477
Cの簡易版みたいな感じですね。

500 名前:名前は開発中のものです。 mailto:sage [2007/10/24(水) 23:12:03 ID:3bv97O32]
もう少し突っ込んだ内容のチュートリアルとか
日本語の資料があれば人気出ると思う。



501 名前:名前は開発中のものです。 [2007/10/24(水) 23:16:00 ID:IY/D3Nkk]
2Dのアクションゲームを作ろうとしているのですが、キャラクターを地面や足場に吸着させて動かすにはどうすればいいのでしょうか。
GM7です。

502 名前:名前は開発中のものです。 mailto:sage [2007/10/25(木) 00:18:31 ID:vNqY00up]
ご指導ください

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

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

しかも終了した後に、ノイズがいつまでも残ってる状態です。
(プロセルには何も残っていません)
何が悪いのでしょうか。

503 名前:名前は開発中のものです。 mailto:sage [2007/10/25(木) 00:56:28 ID:vNqY00up]
すいません解決してしまいました。

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

・・・何故治ったのか原因が掴めないので不安ですが、また似た状況なった場合、
動作報告させて戴きます。

504 名前:名前は開発中のものです。 mailto:sage [2007/10/25(木) 05:08:36 ID:AiXecA9K]
今、必死でE-WordChanger2000を使って7の日本語化を試みてるけど、めんどくさいったらありゃしない
もう少し頑張ってみるか

505 名前:名前は開発中のものです。 mailto:sage [2007/10/25(木) 10:12:51 ID:/6XVTfMT]
俺もやってみたことあるけど、文字化けでおかしくなったりしない?
日本語化できない部分もあるし……。

506 名前:名前は開発中のものです。 mailto:sage [2007/10/25(木) 12:51:49 ID:kOwmLgcJ]
フォント変えてないんじゃねーのか


507 名前:505 mailto:sage [2007/10/25(木) 13:46:16 ID:gKkUjDf5]
E-WrodChanger2000が変更してくれない部分もある。
イベント追加するときのイベントの種類とか、アクションを追加するときの OK や Cancel の文字とか。
GameMaker側でフォントの設定もできないようだった。スクリプトのコードや、GameInformation の部分では変更可能だったけど。
……もしかして、俺のやり方が違っていたのだろうか。

508 名前:名前は開発中のものです。 mailto:sage [2007/10/25(木) 13:59:20 ID:gKkUjDf5]
↑の話は、文字は変更できるがフォントが変更されないってことっす。

Cancel → キャンセル はE-WordChanger2000側でデフォルトで変換しているようで、何も設定していなくても変換され、文字化けしてしまう。
デフォルト変換をやめるよう設定できるのかな。途中まで作ってたんだけど、そのやり方がわからんからやめてしまったんだ。
なおGameMakerはデフォルトのフォントは MS Sans Serif(海外ソフトではお馴染み) が使われているようだ。


509 名前:名前は開発中のものです。 mailto:sage [2007/10/25(木) 21:45:38 ID:vNqY00up]
クレジットカードを持ってないのですが、レジストするにはyoyoサイトのどこを見ればよいのでしょうか?

簡単に決済する方法はありますか。

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



511 名前:名前は開発中のものです。 mailto:sage [2007/10/26(金) 19:58:39 ID:owvMBGHB]
>>510
丁寧にありがとうございます。

やっぱりクレジットカードが必要になるのですね・・・
フリー版でやれるところまで頑張ってみます。

512 名前:名前は開発中のものです。 mailto:sage [2007/10/27(土) 04:42:33 ID:bo72z7qT]
x160〜480の間にランダムにインスタンスを出したいのですがどうしたらよいでしょうか。
x0〜ならできるのですが><

513 名前:名前は開発中のものです。 mailto:sage [2007/10/27(土) 05:51:00 ID:b7zQv7OS]
壁に設置したハシゴをキャラクターを上らせるというアクションを取りたいのですがうまくいきません。

ハシゴ(3x16ドット)あるのですが、キャラとぶつかって「ハシゴ」に乗ってしまいます。
キャラがハシゴと接触したときにボタンを押すと掴む、何もしなければ素通りさせるという処理をしたいのです。
何か良い方法はないでしょうか。

514 名前:名前は開発中のものです。 mailto:sage [2007/10/27(土) 06:52:36 ID:UL5QEHWV]
>>508自分の作った辞書以外のチェックを外して、更にdicフォルダの辞書を自作辞書以外全て削除


515 名前:名前は開発中のものです。 mailto:sage [2007/10/27(土) 14:25:15 ID:47eNMq37]
>>512
使ったことないがx0〜320を出してそれに160足せばいいんじゃね?

516 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/10/28(日) 01:05:44 ID:4H1O2wN3]
>>511

つ VISAデビット



521 名前:名前は開発中のものです。 mailto:sage [2007/10/28(日) 02:22:00 ID:eDM7pNaz]
>>519
それだと上からも横からも通らないオブジェクトだから普通のオブジェクトじゃない?

522 名前:名前は開発中のものです。 mailto:sage [2007/10/28(日) 10:38:07 ID:cbYdgwGn]
ヘルスの上限を100にしたいのですが上限を設定するにはどうしたらいいのでしょう。

523 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/10/28(日) 21:14:01 ID:cbYdgwGn]
ありがとうございます
もうひとつ聞きたいのですがルームで設定したview1やview2を切り替えるにはどうしたらいいのでしょうか。

525 名前:名前は開発中のものです。 mailto:sage [2007/10/29(月) 05:01:09 ID:zuWao6Bl]
ver7 についての情報はありませんか。


526 名前:名前は開発中のものです。 mailto:sage [2007/10/30(火) 11:56:12 ID:G3KKfzgr]
日本語化パッチまだ〜?

527 名前:名前は開発中のものです。 mailto:sage [2007/10/31(水) 17:07:35 ID:kICjS8bb]
ver7を使っています。
ウインドウサイズについて困っています。

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

View in room

528 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/10/31(水) 17:28:18 ID:kICjS8bb]
すいません解決してしまいました。

grobal game settings の graphics > scaling のfixed scale が 200% になってました。
お騒がせしました。

530 名前:名前は開発中のものです。 mailto:sage [2007/11/01(木) 22:33:50 ID:4l261QOy]
テキストファイルに記述した キー=値 を起動時に読み込んで、
変数として扱うには、どうすればいいですか?

ver7 未レジスト



531 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/11/03(土) 19:59:03 ID:Z5CTQc/a]
>>532
どこかに一行入力?があると嬉しいです。

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

指定行の読み込みはできるのでしょうか。

534 名前:532 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/11/04(日) 03:55:29 ID:7Uhxdtas]
こういうのすごいありがたいわー

536 名前:名前は開発中のものです。 mailto:sage [2007/11/06(火) 01:19:01 ID:IQqW+3zu]
ニコニコアクションゲーム うpってくれねぇかなぁ

537 名前:名前は開発中のものです。 mailto:sage [2007/11/07(水) 00:08:08 ID:mZ/mosz1]
kyara

538 名前:名前は開発中のものです。 mailto:sage [2007/11/07(水) 00:10:02 ID:mZ/mosz1]
ごめんなさい。 間違って送信してしまいました。

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

キャラクターを含め、深度?の設定は何も弄っていません。
どうしたらいいのでしょうか。

539 名前:名前は開発中のものです。 mailto:sage [2007/11/07(水) 01:24:51 ID:k+N2ubak]
>>538
drawイベントになにかアクションを置いてしまうと、設定されてるスプライトも描かなくなってしまうんだよね。
この仕様はおそらく、スコアやライフを自前で描くオブジェクトを用意したいときに、
エディタ中でルームに配置するときの識別アイコンとしてスプライトを使用することを視野に入れていると思う。
んなもんで、スプライトを表示したければ自前でやらなければなりませぬ。
drawイベントの一番上にでもオブジェクトに設定しているスプライトを描くよう、描画アクションを追加してください。

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
その記述でうまく予定通りの動作にすることができました。
ありがとうございました。

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



641 名前:名前は開発中のものです。 mailto:sage [2007/12/04(火) 16:21:12 ID:lZt/Vorp]
ボタン連打による連続攻撃の判定をうまく組めないや。

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

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

ヒント教えてください

642 名前:名前は開発中のものです。 mailto:sage [2007/12/04(火) 18:30:38 ID:QsBWBjou]
ダメージを食らった時無敵時間を作りたいんですが
「ヘルスが1以上減ったとき」というのはどう設定すればいいのでしょうか

643 名前:名前は開発中のものです。 mailto:sage [2007/12/04(火) 21:57:57 ID:lZt/Vorp]
>>642
俺も初心者だけど浮かんだので書いてみる。

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

という風にやるとかどう?

644 名前:名前は開発中のものです。 mailto:sage [2007/12/04(火) 22:08:42 ID:lZt/Vorp]
>>641

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

って感じの「モーション中に何かあったか」を調べるGMLって何かある?

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

>>644
アニメーション開始時に適当な変数を0に設定して
何かアクションがあったら変数を1に変える
アニメーション終了イベントで変数が1かどうかチェック
でどうかな。

646 名前:名前は開発中のものです。 mailto:sage [2007/12/04(火) 22:41:58 ID:lZt/Vorp]
>>645
連続攻撃にしたいんだ。それだと1・・・ ん?
1回目に atack=1 二回目に atack=2 ...
として、終了イベントで ってあれー?

うん、ありがと、何か閃きそうだ。頑張ってみる。

647 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/12/04(火) 23:05:42 ID:lZt/Vorp]
>>647
thx
caseもやってみたけど、イメージ通りとはいかなかった。
(俺のやりかたが悪いのか

イメージとしては、モーションが終わらないと次のモーションが始まらないって事なんだけど、
どうしても、モーション途中でボタン押すと、モーション途中で放棄して新しいモーションが
始まるんだ。

649 名前:名前は開発中のものです。 mailto:sage [2007/12/04(火) 23:10:18 ID:lZt/Vorp]
一定時間内(連続二回とか)に同じキーが押されるって判断は、
タイムライン?とかアラームで判断させたほうが良い?(これもイマイチうまくいってない

これができるとダッシュ判定とかできそうなんだよな。 うーん。

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



651 名前:名前は開発中のものです。 mailto:sage [2007/12/04(火) 23:33:22 ID:lZt/Vorp]
>>650
thx
うーん、それだと小パンチ連続みたいな感じができないんだよね。
何カウントか待たないといけなくならない? というか成った。
モーション中にもっかい押されると連続攻撃発生みたいにしたい。

少し落ち着いてくる。

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

「↓・斜め→・右+A」のようなコマンドです。

653 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/12/06(木) 23:41:29 ID:x5GKX6Js]
動きのあるオブジェクトを動きのあるオブジェクトにチェンジすると
スプライトが1から表示されない時があるのですが解消方法はありますか?

656 名前:名前は開発中のものです。 mailto:sage [2007/12/07(金) 00:45:55 ID:4eA37li8]
上のほうで言っていた翻訳の奴あげてホスィ
paypalで1000円までなら支払ってもイイ

657 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/12/07(金) 02:06:08 ID:4eA37li8]
態度が悪いといって怒られるかも知れませんが助けてください

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

3キャラ分横に移動させて止めるって方法教えてください

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

660 名前:名前は開発中のものです。 mailto:sage [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すると地面となる
オブジェクトと接触してる間はちょっしか移動しないし、ジャンプとかすると
そのまま画面の端まで移動しちゃうんですよね。

ゆっくり移動して目的の場所でピタっと止める方法はありますか?



661 名前:654 [2007/12/07(金) 07:17:58 ID:MOpCkhcY]
>>657
わざわざ、調べていただいて、さらに海外フォーラムまで言っていただいて
ありがとうございます。

エラー表示が消えました。ありがとうございましたm(_ _)m

662 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/12/08(土) 07:47:24 ID:qBb/GgCE]
>>663
draw系の関数はdrawイベント中にしか効果がないよ。
画面に描画する機能なんだけど、drawイベントに入った最初に背景色や背景画像で全体を描画してしまうので、描いても消されてしまう。

スプライトを拡大表示させたければ、image_xscale image_yscale という変数で指定できる。
どうしても、キャラスプライトとは他に描画したいものがあるなら draw イベントで描画関数で描こう。
ただし、draw イベントに処理を施すと、自身のキャラ(sprite_index のスプライト)が自動で描画されなくなるので、忘れずに描画させよう。

665 名前:名前は開発中のものです。 mailto:sage [2007/12/08(土) 18:34:14 ID:HAW715W6]
>>664
ありがとうございます。

あ、すいません、これはdrawイベントに書いてます。
なのに一瞬で消えてしまうからナンダロウなーと。
深度を指定して試してみるっす。

666 名前:名前は開発中のものです。 mailto:sage [2007/12/08(土) 20:46:46 ID:Cn07bZV4]
draw_sprite_stretchedが
if keyboard_check_pressed(ord('X')) {
}
の内側にあるから、キーを押した瞬間しか
描画されないんじゃないかな

667 名前:名前は開発中のものです。 mailto:sage [2007/12/08(土) 21:00:01 ID:HAW715W6]
深度変えてもダメだった。
が、今の問題とは関係ないけどobject_set_depth(ind,depth)って、どこで宣言してもいいのかな?
(最後の方にでてくるオブジェクトで、最初のほうにでてくるオブジェクトの深度変えるとか)
心配だから、ルームに必ずおくオブジェクトに設定してるけど。

>>666
なるほど!
では、タイマーイベントで試してみます。

668 名前:名前は開発中のものです。 mailto:sage [2007/12/08(土) 21:06:20 ID:HAW715W6]
ってダメだ。 drawイベントじゃなくなるorz

表示時間のばすか、消えないままにする方法ってないですか。

669 名前:名前は開発中のものです。 mailto:sage [2007/12/08(土) 21:38:56 ID:Cn07bZV4]
if文の外に出すんだ

670 名前:名前は開発中のものです。 mailto:sage [2007/12/08(土) 21:47:16 ID:HAW715W6]
攻撃回数でサイズを変えたいんでそれは・・・

って、そのための変数だ!
if文の中で数字を変数に入れて下のほうで宣言すればいいんだ。
やってみます。



671 名前:名前は開発中のものです。 mailto:sage [2007/12/08(土) 22:00:33 ID:HAW715W6]
・・・そもそも攻撃した時だけ表示したいんだからダメか。

画面外に表示しておいて、攻撃時(x-key press)時だけ
目的の場所に移動させるという方法にしてみる。
他に良い手がありましたら教えてください。

672 名前:名前は開発中のものです。 mailto:sage [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秒間表示
}

673 名前:672 mailto:sage [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は似たような事してるので多分大丈夫だとおもうよ?

674 名前:672 mailto:sage [2007/12/10(月) 16:18:53 ID:ey1ac3Xs]
すまない、書き込んだ矢先に的外れなような気がしてきた。でもなんで描画イベントなの?

675 名前:名前は開発中のものです。 mailto:sage [2007/12/10(月) 21:07:39 ID:hgs58Ul1]
>>672-674
どんぴしゃで目的の動作にできた!! マジありがとー!!

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

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

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

言われた方法でやったら、連続攻撃してもキレイに消えてくれて
なんかもう、やっとムチ振りアクションに取りかかれるッス。ありがとー!

676 名前:名前は開発中のものです。 mailto:sage [2007/12/10(月) 21:08:47 ID:hgs58Ul1]
あ、描画イベントなのは draw_うんちゃらでしか表示する方法を知らないからでした。

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

679 名前:672 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/12/11(火) 18:31:50 ID:QXoJ6Zco]
>>678
ありがとうございます。

このようなアクションをGMLに対応する一覧みたいなものは無いのでしょうか。



681 名前:名前は開発中のものです。 mailto:sage [2007/12/12(水) 19:32:20 ID:I7CK0gCA]
>>680
>584にV6用のがリンクしてあるけど
他のバージョンのが欲しかったら本家フォーラムから
ttp://gmc.yoyogames.com/index.php?showtopic=334704

682 名前:名前は開発中のものです。 mailto:sage [2007/12/12(水) 19:50:15 ID:Bw7drWJW]
>>681
ありがとうございます。
v7はあるようですが、v6はないようですね。

683 名前:名前は開発中のものです。 mailto:sage [2007/12/12(水) 19:51:08 ID:Bw7drWJW]
すいませんありました。
数字のないほうがv6でした。

684 名前:名前は開発中のものです。 mailto:sage [2007/12/13(木) 19:56:55 ID:mOWLOq6S]
ボタンを押すと動きのあるスプライトにチェンジするようにしたのですが
チェンジの時たまに1から順にスプライトが再生されません。
何が原因でしょうか。

685 名前:名前は開発中のものです。 mailto:sage [2007/12/13(木) 21:33:32 ID:9VWX8wY5]
スプライトの表示番号を 0 にしてないんじゃない?
change sprite アクションなら、subimage ていう箇所があるからそこで設定する。
GMLなら
sprite_index = 変更したいスプライト名;
image_index = 0;
てな感じで。

686 名前:名前は開発中のものです。 mailto:sage [2007/12/13(木) 22:50:14 ID:mOWLOq6S]
全て0にしているんですがたまに動きがおかしいと思ったら5あたりから再生されてるみたいなので・・・

687 名前:名前は開発中のものです。 mailto:sage [2007/12/15(土) 12:14:12 ID:CVKb7N91]
FAQにあるヘルスを二つ表示する方法がいまいち分からないのですが詳しく教えていただけないでしょうか。

688 名前:名前は開発中のものです。 [2007/12/16(日) 13:32:59 ID:MjHgc/J/]
「現在のビューに映っている敵をすべて破壊する」
というような技を作りたいのですがどのように設定すればいいのでしょうか?

689 名前:名前は開発中のものです。 mailto:sage [2007/12/16(日) 21:34:56 ID:khbOK2Jz]
>>688
テンプレのリンクからヘルプを拾ってきて with の項目を参照すると目的の動作ができると思う。

690 名前:名前は開発中のものです。 mailto:sage [2007/12/17(月) 00:13:47 ID:SSdNo8vA]
ボタンを押したとき400後ろ(x:-400)に何もない時そこにワープ、そこにsolidオブジェクトがあるときは何もおきないという風に
できるようにしたいのですがif a position is collision freeを使ってもうまくいきません
どう設定したらいいでしょう



691 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/12/17(月) 00:58:48 ID:1bZl34aq]
OCNから書き込めないので、携帯から失礼します。
GM7でアクションゲームを作っているのですが、
攻撃に設定したキーを一回押すと、離しても延々と攻撃が出続けてしまいます。
GMのフォーラムやここの質問で key_pressedイベントを使うと良いと書いてあったのですが
それを使っても攻撃が止まず上手くいきません。
単発で出したいのですがどうしたらいいのでしょうか。

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

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
・・・恥ずかしい間違いしたので問題の箇所の例として加修正してます。

www.uploadjar.com/158405

696 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2007/12/18(火) 22:58:45 ID:RkfysYSU]
solidは融通が利かないから
すり抜け床には使えないな。

702 名前:697 mailto:sage [2007/12/19(水) 00:13:09 ID:SlaPK2id]
うーん、どうやら無理のようですかね。
なんとか工夫してみようと思います。

703 名前:名前は開発中のものです。 mailto:sage [2007/12/19(水) 16:31:31 ID:8LUQdUPx]
>>702
サンプルデキタ。 solid だとやはり面倒だったんで、solid じゃないやつだけど、参考になれば。
ttp://www.uploadjar.com/133957


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

715 名前:HAL [2007/12/28(金) 14:58:17 ID:iAadBrLO]
自分のキャラにHPを設定ってどうやるんですか
あとオブジェクトを使ってHPを減らすようにするにはどうしたらいいんですか

716 名前:名前は開発中のものです。 mailto:sage [2007/12/29(土) 00:25:14 ID:yxji7H+p]
ヘルスのほかにもう一つゲージを作りたいのですがスクリプトを使わずアクションだけでも可能でしょうか。

717 名前:名前は開発中のものです。 mailto:sage [2007/12/29(土) 11:53:52 ID:YtFwzcBI]
ゲージくらい変を数使えばできるだろう?

718 名前:名前は開発中のものです。 mailto:sage [2007/12/29(土) 11:54:46 ID:YtFwzcBI]
変数をですw
変を数ってなんだ…orz

719 名前:名前は開発中のものです。 mailto:sage [2007/12/29(土) 17:02:58 ID:4nUjeBtr]
描写のやり方がよくわからないんです
変数で二つ目のヘルスを作っても描写で画面に表示する方法がわかりません
バージョンは5.3です

720 名前:名前は開発中のものです。 mailto:sage [2007/12/30(日) 03:17:36 ID:NSmEj/DS]
いわゆるHPとかゲージを2本表示する簡単なサンプル作ってみた
www.uploadjar.com/134394
ZでPLAYER1(赤)弾発射
XでPLAYER2(青)弾発射



721 名前:名前は開発中のものです。 mailto:sage [2007/12/30(日) 11:55:41 ID:Zqqq8hXp]
参考にさせてもらい無事完成させることができました。
ありがとうございます

722 名前:ぺしゃみゅんち [2007/12/31(月) 22:39:11 ID:G7IwY3y8]
はじめまして
私ロックマンエグゼのようなゲームを作ってみたのですが
変な異常を起こします
原因が一人ではわからないので皆さんに見ていただきたいのですが
これがそのファイルですwww.uploadjar.com/766112
バージョンは5.Aです
詳しいことはファイル内の問題点のテキストに書いてあります
よろしくお願いします。

723 名前:名前は開発中のものです。 mailto:sage [2008/01/01(火) 04:09:53 ID:HO6m3WgJ]
>>722
意味が わからない

あとエンターでプレイヤー表示だけどpressにするのをお勧めするよ一瞬押しただけでも2、3召還されるわけで

724 名前:名前は開発中のものです。 mailto:sage [2008/01/01(火) 13:01:48 ID:5Zz7hnr7]
変な異常って頭痛が痛くね?

725 名前:名前は開発中のものです。 [2008/01/01(火) 15:05:07 ID:krtrP6kC]
>>724
変と異常ってのは違う意味を指すからおかしくないんじゃね?

726 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2008/01/04(金) 02:27:54 ID:KY38Ruby]
5.3Aもう3年くらい使ってるけどオブジェクトの名前とか日本語でもいけるんだな
あと描画イベントの使い途がいまさら解った
嘘みたいだろう?俺、いままで文字とかいちいちスプライト作って表示してたんだぜ?

732 名前:名前は開発中のものです。 [2008/01/04(金) 17:38:30 ID:JG5m5wPm]
日本語出力できていいなぁ・・・今から5.3Aに乗り換えようかな・・・

733 名前:名前は開発中のものです。 mailto:sage [2008/01/04(金) 23:16:21 ID:cqFFi5wR]
5.3AはVistaに未対応らしいけど、単独実行が出来ないということ?
GM自体は動くみたいだけど…

734 名前:名前は開発中のものです。 mailto:sage [2008/01/05(土) 02:05:40 ID:NZZVqR2v]
ビスタでフツーに作ってるけど?
実行形式はまだ試してないけど

735 名前:名前は開発中のものです。 mailto:sage [2008/01/06(日) 18:55:38 ID:OjABw8Q7]
スコア表記を
「スコア:○○」のように前に出すのではなく「○○点」のように表記したいのですが可能ですか?

736 名前:名前は開発中のものです。 mailto:sage [2008/01/06(日) 20:34:01 ID:nLpXdUSy]
>735
'' + string(スコア) + '点'
でできた

737 名前:名前は開発中のものです。 mailto:sage [2008/01/06(日) 21:29:22 ID:OjABw8Q7]
素早い返答ありがとうございます。

738 名前:名前は開発中のものです。 mailto:sage [2008/01/08(火) 12:36:23 ID:G/0Io5dz]
なんかボールが坂をころがっていくような物理シュミはこれでつくれますか?

739 名前:名前は開発中のものです。 [2008/01/08(火) 20:46:53 ID:HXQlUjj3]
シミュレーションな

740 名前:名前は開発中のものです。 mailto:sage [2008/01/09(水) 10:04:09 ID:jHNZrdiZ]
GMJにここの書き込み反映されてるんだなスゲー



741 名前:ぺしゃみゅんち [2008/01/15(火) 21:32:09 ID:hN1kqTH6]
押し上げにしても同じことがおきました
しかし変数などが分からないのですが
誰か5.aで開ける>>729さんのいっていたようなフラグ変数
をつかったサンプルもしくは私のアップしたものに手を加えたものを
アップしてくれるとうれしいです。
ここで説明していただいてもかまいませんが
サンプルなどをアップしてくれたほうがうれしいです。
よろしくお願いします

742 名前:名前は開発中のものです。 mailto:sage [2008/01/15(火) 23:50:06 ID:DrVh3adF]
>741
簡単なやり方としては
・今キーイベントに置いている内容をアラーム0イベントに移動
(「イベントの変更」を使うと楽)
・かわりにキーイベントに「Set an alarm0」を置いて値を1にする

これでインスタンスの変化が1ステップおいて起こるようになる

743 名前:名前は開発中のものです。 mailto:sage [2008/01/18(金) 02:01:25 ID:CrDQFjAi]
追尾ミサイルを作っているのですが
直角や180度いっきに回転してしまうんですが
クルーってかんじに遠回りして追尾させたいんですが
どうすればできますでしょうか

744 名前:名前は開発中のものです。 mailto:sage [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]
gamdev.org/up/img/10960.zip
日本語化辞書
途中だけど、続き誰か頼む
使い方教えてとかいう、ググれない厨は落とさないように

747 名前:名前は開発中のものです。 mailto:sage [2008/01/19(土) 15:34:14 ID:Rw9P3/DK]
なるほど、日本語訳付きで練習する分には問題ないと思っても良いって事か

748 名前:名前は開発中のものです。 mailto:sage [2008/01/22(火) 21:09:08 ID:45T81GjC]
>>743
今どうやってるん?

749 名前:名前は開発中のものです。 [2008/01/22(火) 21:17:39 ID:ocbbdzjm]
7が出てからもうすぐ一年かぁ
本家では新しいの出るんかな

750 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2008/01/23(水) 04:18:28 ID:b5xhxs/k]
>>750
すまんが現状どうやってるのかよくわからん
角度を常に変数でもたせておくなりして三角関数使わないと難しいんじゃないだろうか
俺ならミサイルの単位時間に動かせる角度と距離固定して目標追わせるかな。

753 名前:名前は開発中のものです。 mailto:sage [2008/01/24(木) 03:09:34 ID:n00gmxln]
前回692です。
また製作の壁にぶつかってしまい困っています。

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

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

ttp://www11.axfc.net/uploader/20/so/He_66684.zip.html
Keyword(DLパス)は0011です。


754 名前:748 mailto:sage [2008/01/24(木) 12:00:40 ID:gZRHXEEh]
>>750
自分>>34なんだけどうpしてるやつの最初の方にホーミングミサイル撃つ敵
つくってあるんだけどこんな感じの作りたいの?

755 名前:名前は開発中のものです。 mailto:sage [2008/01/24(木) 12:22:14 ID:gZRHXEEh]
>>753
obj_usagiオブジェのキーボードイベント<left><right>のアクション全体をcan_attack変数が1の時だけ実行するように
If a variable has a valueを置いてみたらいいんじゃない?

756 名前:753 mailto:sage [2008/01/27(日) 02:40:32 ID:v3yvH1+7]
>>755
すばやい回答ありがとうございます。
無事自キャラが止まって攻撃が出来るようになりました!

半月間も悩んでたので本当に助かりました。
ありがとうございました。

757 名前:729 mailto:sage [2008/01/27(日) 04:15:44 ID:PCXtfTLD]
>>742
あ……なるほど。
pressKeyで即オブジェ変更するんじゃなくてAlarmイベントで実行させれば
複雑にフラグ変数を使わずに済みますね。勉強になります。

758 名前:名前は開発中のものです。 mailto:sage [2008/01/29(火) 11:37:55 ID:n2eeRZD+]
Scriptのエクスポートみたいに、
オブジェクトのソースを出力ってできますか?
オブジェクトがたくさんあると手作業ではちょっと厳しい...

759 名前:名前は開発中のものです。 mailto:sage [2008/01/29(火) 21:35:15 ID:fH/FU5dj]
Editメニューの最後にある「Show Object Information」
名前からは想像がつかないが、全オブジェクトの情報を
一気に出力してくれるというすぐれモノだ。
オブジェクトたくさん作りすぎてるとエラーで死ぬけどな!

760 名前:名前は開発中のものです。 mailto:sage [2008/01/29(火) 23:51:12 ID:n2eeRZD+]
>>759
止まった\(^0^)/
450個もオブジェクトがありゃそりゃ固まるか。



761 名前:名前は開発中のものです。 mailto:sage [2008/01/31(木) 18:22:51 ID:fnpWL05f]
>761
ばーか

762 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2008/02/08(金) 17:38:06 ID:zFVnBZNt]
うーん・・以前にも聞いたので
また聞くのはちょっと気が引けるんですが、
Solidのチェックを外さずに下からすり抜けられる床ってのは
やっぱり無理なんでしょうか。
諸事情で「キャラがブロックより上にいる時だけSolidにする」という方法が使えません。

765 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2008/02/08(金) 19:08:26 ID:zFVnBZNt]
>>765
前提として4キャラ同時に操作するということを書いてませんでした、すいません。
1キャラ操作のアクションゲームならそうするんですが、
多キャラを操作するときなどに、他のキャラがブロックの上にいるときとかに
Solidを解除すると乗っているキャラが落ちてしまうので悩んでいます。

767 名前:名前は開発中のものです。 mailto:sage [2008/02/08(金) 19:10:03 ID:mtgOpTzW]
>>766
ifを何個か重ねたらだめなのか?キャラごとに

768 名前:名前は開発中のものです。 mailto:sage [2008/02/08(金) 19:29:09 ID:zFVnBZNt]
そうすると1Pが乗ってて4Pが下にいるときとかに、
4Pが床(足場)にしたからすり抜けようとしたときにぶつからない?
1Pが上にいるからSolidはONになってるはずだし

769 名前:名前は開発中のものです。 mailto:sage [2008/02/08(金) 20:41:16 ID:2GE6uT/l]
ifを重ねて場合分けしようにも、キャラ別に判定用オブジェクトを作るにしても、
Solid同士の衝突は貫通しない以上、1つでもSolidがあったら下のやつは上にあがれなくなると思うぞ。そのためのSolidなんだし。
オブジェクト別にアクションを変えたいのなら、Solidは解除しておいて、状況に応じて通行可/不可が切り替わるように考える必要があると思う。

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

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

うん。駄目だ。
〜チラシの裏〜

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

ttp://www.uploda.org/uporg1239813.gm6.html
考えて頂いてありがとうございました。



771 名前:名前は開発中のものです。 mailto:sage [2008/02/08(金) 20:51:40 ID:2GE6uT/l]
ってなんだ、Solidでも素通りするのか。

772 名前:名前は開発中のものです。 mailto:sage [2008/02/10(日) 01:31:29 ID:JMvutfpq]
>>766 4キャラ同時に操作ってニコニコアクションの人か?
違っても製作頑張れ。完成するといいな。

773 名前:名前は開発中のものです。 mailto:sage [2008/02/12(火) 00:35:49 ID:iUX9zyeT]
>>770
このレスはアクションの人だったんだな(´・ω・`)

774 名前:名前は開発中のものです。 mailto:sage [2008/02/12(火) 22:51:39 ID:iUX9zyeT]
いろんなroomを表示させることはできますでしょうか?

775 名前:名前は開発中のものです。 mailto:sage [2008/02/12(火) 22:58:47 ID:54CFVRXr]
>>774
残念だがそれは仕様上ムリだと思ふ

776 名前:名前は開発中のものです。 mailto:sage [2008/02/12(火) 23:04:06 ID:iUX9zyeT]
>>775
ありがとうだぜ
ちょっとgamemaker.main.jp/modules/smartfaq/faq.php?faqid=33を応用してくるぜ

777 名前:名前は開発中のものです。 mailto:sage [2008/02/14(木) 22:58:45 ID:3EjNgEsT]
>>774
一つのルームに4種類部屋作って>>776の方法で分割表示すれば良いんじゃね?

778 名前:名前は開発中のものです。 mailto:sage [2008/02/14(木) 23:29:42 ID:bjVjEw1+]
>>777
ヴァージョンが5だったことを忘れてたんだぜww

779 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 03:04:43 ID:5T9VWkup]
sprite_replaceで外部からファイルを読み込みまくってたら、
ロード時間が半端なく長くなった上にメモリ浪費が激しすぎる・・。
時間とメモリを節約する方法ってないですかね・・・

780 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 03:21:07 ID:BAZ3rUXc]
一度に全部読み込んでる?
もしそうなら、room内で使う分だけ読み込むようにしてみるとか。。。
たしか、使用していない画像や音声のリソースをメモリから消去するような関数が用意されていたと思うんで、
roomを変更する時などに、必要がなくなったリソースをメモリから削除するようにしてみるとか。。。





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

ゲーム内に組み込もうにもキャラ数が40人くらいいるから、
exeにまとめると実行ファイルサイズとスプライト数がすごいことになる。

782 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 16:41:13 ID:sRLBKt+9]
>>781
読み込むものを減らしたらどうでしょか
2つか3つ本体作って
全部読み込みバージョン
ちょっと読み込みバージョン
最小限バージョン
とか(´・ω・`)

783 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 17:20:59 ID:hkVzw0EY]
データを外部から取り込むようにして実行ファイルを小さくすると、
・起動が早いかわりに、リソースの読み込みでやや時間をとる。
・修正、アップデートが軽量化できる。(新しい実行ファイルと追加データを上書き)

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

……といった解釈で合っていますか?
間違っていたり、もっと詳しい説明があったら是非お願いします。
(もしこうだったら、修正/拡張パッチとかが作れるように、外部からの取り込みの方がいいのかなぁ)

784 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 21:54:23 ID:6M2Mj1CC]
ホモの友達がいるんだが
そいつベッドの下にビンに入った液体チョコレートと筆を置いてて
これなんだ?って聞いたら
「これで彼といっしょにお互いの体に塗ってなめっこするの♪」
って言われた。


785 名前:名前は開発中のものです。 mailto:sage [2008/02/17(日) 04:31:08 ID:/MDHcIsH]
初歩的な質問ですが
顔や手がブロックに引っかかって落ちなかったり、
端っこの壁に行くとめり込んででられなくなったりします・・・
コリジョンの判定をどうすればいいのでしょうか

gamdev.org/up/img/11074.zip

786 名前:名前は開発中のものです。 mailto:sage [2008/02/17(日) 06:06:40 ID:7sK4ZglN]
>>785
マスクを使えばおk
www6.atpages.jp/kakenn/src/up0002.zip

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

GMLを使ってscore変数の値を変えるにはどのようにすれば良いのでしょうか?

788 名前:787 mailto:sage [2008/02/17(日) 11:10:44 ID:wXzkSK3W]
あぁ、言い忘れていました…
バージョンは6.1です。

789 名前:名前は開発中のものです。 mailto:sage [2008/02/17(日) 12:32:39 ID:yekEWnFq]
>>787
やったことないが
グローバルいらないんじゃね?

790 名前:787 mailto:sage [2008/02/17(日) 14:13:20 ID:wXzkSK3W]
"global."の有無に関わらず、"Variable name expected"というエラーメッセージが出てきます。
試しに今、新規作成でscore+=1と記述してみたところ、これは難なく動作しました。
ということは、このエラーの原因は別の箇所にあると考えられそうですので
一旦ソースを見直してこようと思います。
……何処がダメなのか想像がつかないけど……



791 名前:名前は開発中のものです。 mailto:sage [2008/02/17(日) 15:28:06 ID:yekEWnFq]
score = ?;
score=?;
両方試してみた?
後スペルチェックとか

792 名前:名前は開発中のものです。 mailto:sage [2008/02/17(日) 15:48:55 ID:F5p9Y4ne]
"Variable name expected" が出るのはたいてい
"score" をすでに変数名以外に使っちゃっているとき。
変数名が青じゃなくて紫になってたらそれだ。
オブジェクトとかスプライトに "score" って付けてない?

793 名前:787 mailto:sage [2008/02/17(日) 19:47:57 ID:wXzkSK3W]
>>792
確かに紫になっていました。でも"score"なんて名前を付けた覚えはない……
と思ってたらありましたよ、"score"という名のルームが!
気をつけて名前を付けてきたはずだから、こんな間違いはしていないと思い込んでいました…

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

お二人方、どうもありがとうございました。

794 名前:名前は開発中のものです。 mailto:sage [2008/02/17(日) 21:31:14 ID:H3L0qkMh]
>>786
ありがとうございます
そして重ねて質問なんですが、
マスクの使い方も教えてもらえないでしょうか?

795 名前:名前は開発中のものです。 mailto:sage [2008/02/18(月) 06:03:43 ID:P6ufyrMd]
>>794
マスク=当たり判定かな、違ってたらすまん
でも俺説明下手だから
gamemaker.main.jp/modules/newbb/viewtopic.php?topic_id=367
を参考にするといいんだぜ!

796 名前:779 mailto:sage [2008/02/18(月) 14:05:15 ID:wD+9YlvR]
ロード時間の件ですが、
スプライトのロードよりも、
キャラ変数の用意に膨大な時間がかかっていることが判明。

execute_fileで大きなファイルをロードすると時間かかるんですね・・

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

変数の代入程度なら、自前でデータファイルを作って処理をしたほうが良いだろうね。
バイナリ形式のほうがよいかもしれない。

798 名前:名前は開発中のものです。 mailto:sage [2008/02/18(月) 21:26:12 ID:ZmedX/dg]
>>795
解決できました!
ありがとうございます!

799 名前:名前は開発中のものです。 [2008/02/18(月) 22:39:56 ID:tcJyICZc]
>>796
変数を使いまくるとロード長くなる?
どのくらい変数使ってるの?

800 名前:779 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [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() されてるか再度確認されてみては。

803 名前:801 mailto:sage [2008/02/21(木) 13:03:03 ID:QLrlpKAR]
素早い返答有難うございます。
帰宅してから試してみることにします。

804 名前:801 mailto:sage [2008/02/21(木) 18:05:02 ID:hrX+JUXR]
>802
只今帰宅し、サンプル確認してみました。

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

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

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

有難うございました!!

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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



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


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

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

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

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

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

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

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

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

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

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

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


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

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

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



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

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

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

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

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

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

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

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

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

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

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


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

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

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


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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

855 名前:名前は開発中のものです。 mailto:sage [2008/03/28(金) 11:33:42 ID:uVxOA1kY]
一枚絵の背景画像を view についてこさせたいってことなら、
背景画像の表示位置は、background_x[0..9] と background_y[0..9] の変数で管理されてるんで、
0番目の背景を0番目のview左上角位置に調整したければ、
ステップイベントで以下のコードを記述すればよい。と思う。

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

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

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

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

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

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

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

gamdev.org/up/img/11264.zip



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

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

この場合、ルームの背景自体はなし<no background>にして、
かわりにうんとdepthの大きいオブジェクトを一つ用意し、
そいつに背景を描画させるのがいいと思う。
Drawイベントの中で
draw_background(background0, view_xview[0], view_yview[0]);
みたいな感じで。

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

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

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

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

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


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

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

868 名前:名前は開発中のものです。 [2008/04/03(木) 12:01:14 ID:LCg7Ks7Z]
ライフバーの機能を使ってみようと思い、マウスの位置に合わせて描画されるように作ったつもりなのですが全く描画されません。
どこら辺が間違っているのでしょうか?
Sprite: <no sprite>
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent: <no parent>
Mask: <same as sprite>

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



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

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



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

872 名前:名前は開発中のものです。 mailto:sage [2008/04/03(木) 17:47:55 ID:x/yJQOmc]
>>871
draw Livesアクションは横方向でしかならべられないのね。GMLでかいたらこんな感じかな?
drawイベントに「Execute a piece of code」で

for(i = 0; i < lives; i +=1)
{
draw_sprite(ライフ表示用スプライト名,-1,先頭のスプライトイメージのX座標,
先頭のスプライトイメージのY座標+sprite_get_height(ライフ表示用スプライト名) *i);
}

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

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

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

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

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


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

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

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


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

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



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

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

883 名前:名前は開発中のものです。 [2008/04/05(土) 04:41:45 ID:/7lMTMqT]
Object1
Step Event:
set variable image_angle to direction
Object2(追尾させたいスプライト)
Step Event:
if left mouse button is pressed
for all honoo: perform a step towards position (mouse_x,mouse_y) with speed 10 stop at solid only
GM6だと開けないのか〜

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

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

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

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

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

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

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



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

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

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

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


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

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

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

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

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

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

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

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

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

900 名前:名前は開発中のものです。 [2008/04/07(月) 13:17:17 ID:wG6ko/jv]
私のはGM7なのであえて記述させてもらいます

Information about object: object0

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

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

なお、これはレジスト用です、レジストでない場合はimage angleが使えないので
Ifステートメントとchange spriteを組み合わせるしかないでしょう。
私はまだ日が浅く、その場合の方法は考え付かなかったので非公式サイトあたりで聞いてみてください。




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

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

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


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

904 名前:名前は開発中のものです。 mailto:sage [2008/04/08(火) 21:09:24 ID:lWzhg9Ri]
>>903
ここ数レスのはアイコンの内容を言葉で説明したものであって、
実際にああいうコードを打つわけじゃないですよ。

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

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

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

// object1のマウスボタンイベント
x = mouse_x; y = mouse_y;

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

906 名前:900 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2008/04/11(金) 20:38:20 ID:EEx5djbh]
おおう、更新すれば良かったorz

912 名前:名前は開発中のものです。 [2008/04/12(土) 11:01:55 ID:eNZFgCaH]
>>909,910
ありがとうございます。
なるほど、有料登録ですね

913 名前:名前は開発中のものです。 mailto:sage [2008/04/18(金) 10:19:47 ID:3dx+PVyf]
ちょっと参考までに、日本語圏でのGM作品を見てみたいんだが、
有名所で、GM作品を公開してる人っているかい?

914 名前:名前は開発中のものです。 [2008/04/18(金) 20:35:49 ID:xHO8JEqh]
ニコニコのミックマンXやニコニコアクションゲームとかなら知ってるけど。
ニコニコでgamemakerを検索するとちょっぴり出てくる。

915 名前:名前は開発中のものです。 mailto:sage [2008/04/27(日) 05:53:10 ID:2l2AKY8C]
これダウンロードできなくね?

916 名前:名前は開発中のものです。 [2008/04/27(日) 11:06:31 ID:CLNLyEnS]
英語だらけだから難しいよね
俺もダウンロードするのに一日かかった

917 名前:名前は開発中のものです。 mailto:sage [2008/04/29(火) 09:44:12 ID:2d8FpwgV]
登録しねーとDLできないのか?

918 名前:名前は開発中のものです。 mailto:sage [2008/04/29(火) 11:59:36 ID:YwZZ6j+f]
基本的に登録してからダウンロードしたほうがいい。
けど、
ttp://www.yoyogames.com/gamemaker/try_download
からDL出来ると思う。


919 名前:名前は開発中のものです。 mailto:sage [2008/04/30(水) 21:35:13 ID:wqvUGn48]
6.1で3Dポリゴンにテクスチャを張りたいのですが、色々試しても黒く表示されるだけでどうにも……

どうコードを組めばうまく表示されるか誰かアドバイスくれませんか?


920 名前:名前は開発中のものです。 mailto:sage [2008/05/01(木) 00:53:19 ID:TumL990E]
その「色々試した」の中身が重要なわけだけども。

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

もしそうだとしたら、先頭でdraw_set_color(c_white)してみて。



921 名前:名前は開発中のものです。 mailto:sage [2008/05/01(木) 05:57:14 ID:boSZuiu9]
>>920
ありがとうございます!
まさしくそれでした(^^;

こんな簡単なミスだったとは……

922 名前:名前は開発中のものです。 mailto:sage [2008/05/01(木) 22:44:02 ID:QlMWKAXW]
すごい漠然とした質問なんですが

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

GML非公式サイトでdraw関連のコードがあまり説明されてなかったので。。。

923 名前:名前は開発中のものです。 mailto:sage [2008/05/01(木) 23:27:03 ID:lT+h3RUS]
簡単なのは 画像1 画像2 画像3 をスプライトに持つオブジェクトを作って、 depth で指定する方法。
depth の数値が大きくなると上に重なる。はず。

draw イベントで処理したいなら、基本的に画面上に上書きされるので、下になるほうを先に描画すればいい。

924 名前:名前は開発中のものです。 mailto:sage [2008/05/02(金) 02:15:50 ID:IG1MecUh]
305をそのまま使って、新しいオブジェクトを作って設置し
、すり抜けてみたんですが、solidにチェックがついてない
のに、接触した状態で立ち止まると、壁にはまったときと
同じ動作になってしまいました・・・


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

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

うーん。。。コリジョン難しい

925 名前:名前は開発中のものです。 mailto:sage [2008/05/02(金) 02:35:04 ID:20oP59U2]
place_emptyが返すのはIDじゃなくてtrue/falseだから……
相手のIDが欲しければinstance_place使う。

solidの判定も逆のような気がするけど、それ以前にそもそも
place_free使えばsolidのオブジェクトだけチェックしてくれるよ。

926 名前:名前は開発中のものです。 mailto:sage [2008/05/02(金) 07:25:07 ID:IG1MecUh]
>>925
なるほど。。。そうだったのか。
ありがとうございます。

うー、日本語マニュアルがほしぃ。。。

927 名前:名前は開発中のものです。 mailto:sage [2008/05/03(土) 12:42:03 ID:CaNFTODT]
逆に考えるんだ、「英語の勉強になる」。そう考えるんだ。 トェェェェイ

ところで、これで某有名同人弾幕シューティングの二次創作tkっているが
弾幕ww、弾幕が再現できねぇwwww

928 名前:名前は開発中のものです。 mailto:sage [2008/05/03(土) 14:24:24 ID:9QsVrF2b]
仲間発見

929 名前:名前は開発中のものです。 mailto:sage [2008/05/03(土) 15:59:55 ID:3a9tSZMK]
>>927
俺は某同人弾幕STG風オリジナルSTG(つまりパクり)作ってるが、まずはn-way弾を発射するスクリプトを書くんだ!

930 名前:名前は開発中のものです。 mailto:sage [2008/05/03(土) 17:55:29 ID:TpBQZjg2]
ロードの際「セーブデータのフォルダがある」「ゲームのセーブデータがある」時だけロードボタンを押せるようにしたいのですが
そういったデータの有無を内部で確認させる方法はありますか?



931 名前:名前は開発中のものです。 mailto:sage [2008/05/03(土) 18:07:56 ID:9QsVrF2b]
exist系のを使えばできるはず。directoryとかfileとか。
マニュアルで検索かけてみ。

932 名前:名前は開発中のものです。 mailto:sage [2008/05/03(土) 21:32:29 ID:O2xyPtem]
>>927-929
こんなに俺がいたとは
今ではn-wayを手動でやってたときが懐かしいです

933 名前:名前は開発中のものです。 mailto:sage [2008/05/03(土) 21:53:01 ID:XU6M82BJ]
板違いなんでしょうが、
シューティングとかで弾を撃つアクションはどれになりますか?
誰か教えてくださいな〜

934 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 06:21:13 ID:2fBGUOBZ]
「シューティングで弾を撃つアクション」とか、「RPGで敵を攻撃するときのダメージ設定」とか、
そういった類のアクションはなく、自分なりにデザインして、自分で一から作るのがGM。

簡単に言えば、弾を撃つってことは、弾というオブジェクトを作り、それをある速度で飛ばせばいい。

935 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 06:27:00 ID:2fBGUOBZ]
……でも、もし弾幕STG作るんだったら、弾幕風で事足りる気がする。連投失礼。

936 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 08:24:53 ID:lNeW/IjQ]
>>934
なるほど。。オブジェクトを作って飛ばす訳ですか。
大体解りました〜ありです。

937 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 20:03:25 ID:lNeW/IjQ]
今934さんに教わった後頑張って色々やったのですが、
何点か分からない点や仕方のわからない点が出てきました。。
もし良かったら教えてください。
・弾の発射に間隔を付ける方法
・一部状況下(俺の言いたいのはジャンプ中)での発砲不可
・一定の数の弾を発射後何秒間か使用不可(要するにリロード)
・↑の間モーションが入るようにする方法

教えてください〜

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

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

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

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

リロードのモーションは、モーション専用のオブジェクトを作って、オブジェクト変更アクションを利用するのがいいかもしれない。
そのときは、モーション専用オブジェクトで、モーションが終わったら元のオブジェクトに戻すことを忘れずに。
アニメーションエンドイベントをうまく利用すると楽かもしれない。用語とかでわからないことは、>>1の非公式サイトで調べてみ。
長文・乱文失礼。

939 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 20:34:11 ID:lNeW/IjQ]
>>938
なるほど
それを行っている事を変数で表して、可能不可能をその変数の状態で判断させるわけですか
変数はあまり得意ではありませんが、色々やってみます。
ありがとうございました。
あ、後ここでこうやって質問して良い物なんですか?
板違いじゃないかとずっと気がかりでして。。

940 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 20:52:37 ID:LG4ZPs/B]
>>939
まあ、過疎ってるし個人的にはいいんじゃないのかなとは思うけど。
質問以外の話題がほとんど無いし。。
教えてクレクレ君だらけになったらなったで、つらいんだけどねw



941 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 20:57:40 ID:lNeW/IjQ]
やっていく内にわからなくなってきました。。
発射可能を表す変数 これはなんと表すことになるんですか?
例として教えてください

942 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 21:16:10 ID:smFSYJ2D]
n = 3
これを発射回数として
一回打つたびに-1してやって
0の時には打てなくすればいいのかな・・・
俺も初心者だから参考にならないかも;

943 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 21:21:43 ID:lNeW/IjQ]
>>942
返答ありがとうございます。
そういうのの総合的な並べ方がわからないんですね〜>>941の文が分かりづらくてすみません。。

944 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 21:29:00 ID:smFSYJ2D]
{
n = (n-1)
if n > 0
{
instance_create(x,y,bullet)
}
}

こんな感じでしょうか・・・
もっといい方法があると思いますが自分にはわかりません;

945 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 21:30:58 ID:lNeW/IjQ]
>>944
ありがとうございました。
早速いじってきます〜

946 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 22:16:01 ID:lNeW/IjQ]
>>947
なるほど
そういう並べるのですか
また困ったらよろしくお願いします。
ありがとうございました〜

949 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 22:21:00 ID:LG4ZPs/B]
あ、あと撃ったときにタイマーイベント発生させるの忘れてたorz
   bulletNum -= 1;
の下に、
   alarm[0] = 30; // 30ステップ後にアラーム0イベントが発生。
としてくらさい。
インデントはかきこ時の見た目重視で全角スペース使ってるので、コピペだと動かないので注意。

950 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 22:33:54 ID:lNeW/IjQ]
>>949
了解です〜
ありがとうございます。



951 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 23:18:28 ID:KZv3H4cz]
いつもお世話になっております。
教えてほしいのですが、>>853がうまくいきません。

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

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


ご教授いただきたくお願いします。

952 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 23:28:07 ID:KZv3H4cz]
951です。

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

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

image_speed = 0.2

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

image_speed = 0.25


うーん、ただここでひとつ疑問が・・・
なんで「0.2」では動作しなかったのか・・・うーん
板汚し、すいませんでした orz

953 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 05:06:15 ID:KYkFnzVP]
FEっぽいゲームを作りたいんですが
移動範囲の求め方がわかりません;
1マスごとに-1するということだと思うんですが
具体的に書けなくて・・・
教えていただけたら嬉しいです

956 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 05:40:23 ID:Bq2Q3q9u]
やり方はここが参考になるんじゃない?
ttp://www5f.biglobe.ne.jp/~kenmo/program/SLG/move/move.html
再帰ループとか理解している必要があるけど。



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

958 名前:名前は開発中のものです。 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 08:57:11 ID:grhJSKQZ]
>>958
image_indexじゃなくてsprites_indexでした。

あと、このコードじゃうまく動作しませんでした。
うーん。難しい・・・。

960 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 10:27:30 ID:j6OioUkw]
なんだかやりたいことが混乱してないか?
「困ったときは原点に戻る」
プログラム的なことは置いといて、まず何をしたいのかを考えてみ?

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

……>>853が言ってることと全く同じなんだが。
これで出来ないってなると、Step eventで毎回毎回image_speedを設定してるんじゃない?
もしそうだったらいくら止めても止まらないんだけどw



961 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 10:40:47 ID:j6OioUkw]
もしimage_speedが一定で、終わったらそれを止めたいってだけなら、
image_speedをCreate Eventで設定した方がいいよ。

962 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 11:31:49 ID:grhJSKQZ]
>>960,961
なんていうか、いろいろとすいません。
うーん、そうですねぇ。「やりたいこと」…
「一定条件のみアニメを止める」っていう動作をさせたいんだと思います。

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

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

でやりたいことが実現できました。
うーむ。確かに原点に返ってみれば、単純な事だったのですね…。
板汚しすいませんでした orz

963 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 21:40:31 ID:2SyyMfLm]
なにげにレス伸びてる・・・そろそろ次スレの季節なのかな?

964 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 22:22:44 ID:eAt6pbsl]
>>950です。
また質問に来ました。
HPを準備するまでは出来たのですが、HPの減らし方(ダメージ)がわかりません。。
後、自分的にはゾンビのような敵と戦わせたいので、
近づいたら(正確には近づかれたら)ダメージという形での使用方法も教えてください。
よろしくお願いします。

965 名前:名前は開発中のものです。 mailto:sage [2008/05/05(月) 22:48:47 ID:J24rBd4c]
>>964
サンプルとか、>>1チュートリアルとかサイトに色々書いてるから自分でも調べてから書き込むことをオススメする。

966 名前:名前は開発中のものです。 mailto:sage [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を減らすから、範囲内に入ればとんでもないスリップダメージになるので
一定周期ごととか、減らす量を思いっきり少量にするとか、そういう工夫は必要かと思う。まぁとりあえず がんばれ〜


967 名前:966 mailto:sage [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 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 00:40:06 ID:m5xvmqWN]
>>965 >>967さん
ご返答ありがとうございます。
なるほど、そういう風な式を立てればいいのですか〜
わかりました。ありがとうございました

969 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 03:30:10 ID:HwPOvHtQ]
>>968
一応聞いておくけどヘルプファイルもってる?

970 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 11:45:29 ID:m5xvmqWN]
>>969だいぶ遅れた返答ですみません。
F1のあれの事ですか?
英語で読めないです。。




971 名前:名前は開発中のものです。 [2008/05/06(火) 12:57:24 ID:ndOoddgE]
gamemakerで作った拡張子exeのゲームをPSPで遊ぶ事は出来ないのでしょうか?

972 名前:名前は開発中のものです。 mailto:sage [2008/05/06(火) 13:04:37 ID:zKMDMsj4]
GameMakerはWindows専用だ。マルチプラットホームなわけねぇだろ。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前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