【2D】ゲーム作成ツールGameMaker part2【マンセー】at GAMEDEV
【2D】ゲーム作成ツールGameMaker part2【マンセー】 - 暇つぶし2ch486:名前は開発中のものです。
07/10/18 15:58:06 2p+G78pK
一定時間無敵という状態を作りたいのですが十数秒自キャラのあたり判定をなくすことはできますか?
半透明で当たり判定のないオブジェクトを作ってそれにチェンジするといろいろ変数を追加しないといけないので面倒なのdすが・・・

487:名前は開発中のものです。
07/10/18 18:41:17 HP36It3Q
>>486
自キャラに無敵フラグを追加、で解決するような...。駄目な理由があるのかな。
自分だったら、当たったときにフラグチェックして無敵だったらコリジョン処理しない(即座に抜ける)ようにし、
タイマー使って一定時間後に無敵フラグ消失、というような感じにする。

488:名前は開発中のものです。
07/10/18 20:07:50 8B1FDJnb
>>487
シューティングならそれでいいかもしれない
横視点アクションとかで地面とかが関わるならもう少し工夫しないとだけかも

このスレのログを辿ると似たよう話に当たるかもしれない

489:名前は開発中のものです。
07/10/18 20:40:28 vfcbVUIf
面倒がってる奴に教える意味有るのか?

490:名前は開発中のものです。
07/10/18 21:42:24 6eGl9S9Q
過疎よかいいじゃないか

491:名前は開発中のものです。
07/10/19 07:37:01 MUFGtR6o


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

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

494:名前は開発中のものです。
07/10/20 00:33:48 hAmk06Ct
>>492
一時停止は、関数 bGM_pause(sound_id) でできる。sound_idに曲AのIDを指定しよう。
その後、bGM_play(曲Bのファイルネーム, [設定]) を呼び出し、曲Bを再生する。
曲Bの終了検知は、今のところ無理っぽい。曲Bが終わる時間を見計らって、一定時間後に曲Aに復帰させるしかないかな。
なお曲Aに演奏を復帰させるときも、 曲AのIDを引数にして関数 bGM_pause()を呼び出す。

関数リファレンス
URLリンク(gamemaker.main.jp)

>>493
無理です。

495:名前は開発中のものです。
07/10/21 00:27:43 1O8dqLnR
これって日本語化出来る5.3使った方が良いのか?

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

497:名前は開発中のものです。
07/10/23 20:39:07 1Dn54OyY
すいません。

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

498:名前は開発中のものです。
07/10/24 18:24:35 CNVx+st/
止まってるな、1を見たら2年前だし

499:名前は開発中のものです。
07/10/24 21:53:11 WgthXhdI
>>477
Cの簡易版みたいな感じですね。

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

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

502:名前は開発中のものです。
07/10/25 00:18:31 vNqY00up
ご指導ください

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

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

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

503:名前は開発中のものです。
07/10/25 00:56:28 vNqY00up
すいません解決してしまいました。

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

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

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

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

506:名前は開発中のものです。
07/10/25 12:51:49 kOwmLgcJ
フォント変えてないんじゃねーのか


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

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

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


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

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

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

511:名前は開発中のものです。
07/10/26 19:58:39 owvMBGHB
>>510
丁寧にありがとうございます。

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

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

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

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

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


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

516:名前は開発中のものです。
07/10/27 14:38:37 szgPSdg7
特定のインスタンスを変更するにはどうすればよいのでしょう・・?

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

オブジェクト名を指定してそのインスタンスを変更するというGML命令は無いのでしょうか…?

517:名前は開発中のものです。
07/10/27 15:43:28 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:名前は開発中のものです。
07/10/27 18:29:37 mK85JoeL
あぁー。

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

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

519:名前は開発中のものです。
07/10/27 19:06:11 MYcBDy56
2Dアクションを作っているのですが通り抜けできない障害物の作り方がよくわかりません。
上に乗れるが横からは通れないようなものを作りたいのですが何を設定すればいいんでしょう

520:名前は開発中のものです。
07/10/28 01:05:44 4H1O2wN3
>>511

つ VISAデビット

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

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

523:名前は開発中のものです。
07/10/28 11:40:24 leAMyaxz
>>519
マリオやロックマンのような2Dアクションは意外に敷居が高いです。GameMakerなら、ソリッドオブジェクトとか、それに関するアクションの理解がいろいろ必要です。
公式のチュートリアルのソースを良く見てみましょう。
URLリンク(www.yoyogames.com)
この中の 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:名前は開発中のものです。
07/10/28 21:14:01 cbYdgwGn
ありがとうございます
もうひとつ聞きたいのですがルームで設定したview1やview2を切り替えるにはどうしたらいいのでしょうか。

525:名前は開発中のものです。
07/10/29 05:01:09 zuWao6Bl
ver7 についての情報はありませんか。


526:名前は開発中のものです。
07/10/30 11:56:12 G3KKfzgr
日本語化パッチまだ~?

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

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

View in room

528:名前は開発中のものです。
07/10/31 17:11:22 kICjS8bb
すいません途中で送信してしまいました。

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

どこを設定すれば、元の絵のまま w:640 h:480 で綺麗に表示できるのでしょうか。

529:名前は開発中のものです。
07/10/31 17:28:18 kICjS8bb
すいません解決してしまいました。

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

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

ver7 未レジスト

531:名前は開発中のものです。
07/11/02 04:01:27 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:名前は開発中のものです。
07/11/03 19:29:28 zfNPIsFo
最近質問が多いんで、GameMaker用まとめwikiサイトを作りかけてるんですが、需要あります?
wikiはgamdevにもあるけど、あそこは紹介程度にして詳しい情報はほかのところでまとめたほうが良い気がしますし。
内容がGMJapanと被ってしまうのも気になります……。

ページ
URLリンク(www.wikihouse.com)
まだGMLの変数一覧とか、関数一覧(数学関数以外ほとんど白紙)ぐらいしかないです……。
もし需要があるなら、補完してくれるとありがたいです。(GML関数の解説でも一人じゃつらい…orz)
あと、ほかにどんな情報がほしいのかとかもわからんです。公式チュートリアルの解説とかあるといいのかな?

533:名前は開発中のものです。
07/11/03 19:59:03 Z5CTQc/a
>>532
どこかに一行入力?があると嬉しいです。

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

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

534:532
07/11/03 21:43:07 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:名前は開発中のものです。
07/11/04 03:55:29 7Uhxdtas
こういうのすごいありがたいわー

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

537:名前は開発中のものです。
07/11/07 00:08:08 mZ/mosz1
kyara

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

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

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

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

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

541:名前は開発中のものです。
07/11/07 22:06:45 mZ/mosz1
>>539
ありがとうございます。

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

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

542:名前は開発中のものです。
07/11/07 22:09:58 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:名前は開発中のものです。
07/11/07 22:20:34 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:名前は開発中のものです。
07/11/07 22:21:53 HXVYqugh
ごめ、訂正。↑の最終行は「3つめの変数は」ではなく「3つめの引数は」です。

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

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

splite_index で動作しました。


547:名前は開発中のものです。
07/11/08 00:01:11 d2+xWEQm
>>542
つpoint_direction

548:542
07/11/08 00:13:09 1Yl9ePE9
>>547
すっかり忘れてますた。。。吊ってキマツ....
λ.................

549:名前は開発中のものです。
07/11/08 00:28:00 /npJWupm
初心者です。
弾があたったらHPを減らすようにしたいのですがどうしたらいいのですか?

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

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

552:名前は開発中のものです。
07/11/08 18:55:03 lBo37aAD
質問です。

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

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

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

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

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

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

556:名前は開発中のものです。
07/11/09 02:01:52 6eGYZdLF
>>555
一番簡単なのは、execute_file(fname)、もしくはexecute_string(string)かなぁ。
指定するテキストファイルや文字列がGMLの文法にのっとってることが前提だけど。
例に出ている

attack=50
move=5
pow=3

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

もちろん、文字列を扱う関数を駆使してもできるけど、かなり面倒かな…。

557:名前は開発中のものです。
07/11/09 02:14:59 UPA3QoAL
敵が味方に向かってくるようにはできますか?
調べてもわからないので教えてくれるとありがたいです。

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

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

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


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

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

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

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

564:名前は開発中のものです。
07/11/11 00:53:12 dEP/qcYk
え・・・

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

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

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

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

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

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

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

571:566
07/11/11 22:17:10 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:名前は開発中のものです。
07/11/12 00:47:58 SMPr5R3+
状況がちょっと違うようですが、
ある人が一週間ライセンスが届かない、とsoftwrap(ライセンスを管理しているところ)に問い合わせたところ以下のメールが返信された、という例がありました。
URL:URLリンク(gmc.yoyogames.com)

>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:名前は開発中のものです。
07/11/12 01:38:54 X/VZL/ZV
空気読まずにすみません
アクションゲームでキャラがダメージを受けたとき一定時間無敵時間を作りたいのですがどのようにすればいいでしょう。

574:566
07/11/12 02:57:08 XPKJHwMR
>>572
わざわざ調べていた様で、ありがとうございました!
その方法で出来ました!
ずっとわからずに困っていたので助かりました。

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

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

577:名前は開発中のものです。
07/11/15 22:49:15 Q3sXVJ6Z
>>575
まぁええではないかええではないか

578:名前は開発中のものです。
07/11/16 17:54:48 UQAwVTd5
床と天井を1つの衝突の処理でできないでしょうか
床と天井のオブジェトを分けたくないのですが。。。

579:名前は開発中のものです。
07/11/16 19:35:38 i1di2c5T
広いroomで操作キャラに追従してゲーム画面に映す範囲が変化するとき、
その時々でゲーム画面に映している範囲の座標を取得する方法はないでしょうか?
操作キャラで座標を取得する場合、roomの端と中央付近では分岐して処理を作るのは手間と余計な負荷がかかるので・・・・・

580:名前は開発中のものです。
07/11/16 20:21:56 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:
URLリンク(www.wikihouse.com)

581:541
07/11/17 01:58:15 6kTW/Ms/
すいませんご教授ください。

URLリンク(gamdev.org)

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

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

582:名前は開発中のものです。
07/11/17 09:28:38 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:名前は開発中のものです。
07/11/17 22:59:12 ZhTdG7VC
Move towards a pointをGMLで書くにはどうすればいいんでしょうか
ほかののコードも知りたいのですが
一覧表みたいなのがあれば教えてくださるとうれしいです

584:名前は開発中のものです。
07/11/18 03:52:47 dZTdlxUn
Move towards pointはそのまんまmove_towards_pointだすよ。
URLリンク(www.blackratstudios.com)

585:名前は開発中のものです。
07/11/18 07:17:44 8No17c3/
イベントの最中ウェイトのように時間をとめたいのですがウェイトを使うと背景やキャラの動きも停止してしまいます
ウェイト以外で時間を止めるにはどのようにすればいいでしょう。

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

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


588:名前は開発中のものです。
07/11/19 22:25:53 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
07/11/19 23:07:23 jkHOQwoD
>>582
ありがとうございます。

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

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

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

592:名前は開発中のものです。
07/11/21 05:25:51 aCno3jIs
URLリンク(www6.uploader.jp)
俺なにつくってんだろ\(^o^)/


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

593:名前は開発中のものです。
07/11/21 14:46:30 GJ98eRgx
今までスレにでてきた質問とかまとめてみました。曖昧だけどジャンル別にわけてあります。
一部読みにくい部分もあるかと思いますが、参考にしてください。
質問する方は、質問する前に既出のものがないか調べてみてくださいね。
URLリンク(www.wikihouse.com)


594:名前は開発中のものです。
07/11/21 21:15:55 o5zLLD5X
上記でもでてきた

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

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

WinXP PRO sp2
VRAM32mb
MEM1G
GM7

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

描画するテキスト → ~∵・・’々”  と表示されました。

595:名前は開発中のものです。
07/11/21 23:05:33 o5zLLD5X
あるオブジェクトが、上昇中はスプライトA下降中はスプライトBで表示したいんですが、
落下する時の表示ができません。

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

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

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

597:名前は開発中のものです。
07/11/22 00:12:30 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:名前は開発中のものです。
07/11/22 00:35:47 UQGy8J0/
>>592
説明書plz!

599:名前は開発中のものです。
07/11/22 00:48:22 xbPHpoIO
>>596
ありがとうございます。

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

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

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

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

601:名前は開発中のものです。
07/11/22 16:23:18 xbPHpoIO
>>552
AutoHotkey というソフトで解決できた。
URLリンク(lukewarm.s101.xrea.com)

以下のコードを打ち込むと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:名前は開発中のものです。
07/11/24 10:47:25 yxZvhkIv
非公式情報ページのアンケートでGM6利用者が圧倒的に多かったから
6をDLしようとしたら公式に前のバージョン落ちてない\(^o^)/

603:名前は開発中のものです。
07/11/24 11:08:07 Ni6Xllr/
yoyogamesは7.0以降しか版権がないからね。
旧公式から前のバージョンを落とせるよ。
URLリンク(www.gamemaker.nl)
下のほうに旧バージョンの一覧がある。

でも正直、6.xはお勧めしない…。整数でも24bit、およそ1678万弱までしか扱えないのはちょっと。
5.3Aと7.0ではこの問題がおきていない。

604:名前は開発中のものです。
07/11/24 17:08:16 4xZfNBY3
7.0 は、今年の3月リリースからバージョンアップとかの情報ないっすか?

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

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


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

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

608:名前は開発中のものです。
07/11/25 10:01:18 r1aVIhHY
ミックマンすげーな

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

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

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

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

612:名前は開発中のものです。
07/11/27 17:29:34 Kfsg319Y
いくつか遅延ロード入れればおk

613:名前は開発中のものです。
07/11/27 22:05:08 o7JCBwEc
ありが㌧
とりあえず遅延を適当に入れて調整してみる

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

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

616:名前は開発中のものです。
07/11/28 23:22:11 UcC33M+r
教えてください

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

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

ここの翻訳がわかりません。
一行目は、ESC で終了でいいのでしょうが2行目が・・・
どうか教えてください。

617:名前は開発中のものです。
07/11/29 00:46:50 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:名前は開発中のものです。
07/11/29 01:07:06 2O8VJSxX
>>617
おぉ、ありがとうございます。

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

619:名前は開発中のものです。
07/11/30 16:26:11 JpK40a/w
E-WORD2000 での辞書ファイルです。

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

URLリンク(gamdev.org)

620:名前は開発中のものです。
07/11/30 16:27:29 JpK40a/w
E-WordChanger2000でした

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

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

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

624:名前は開発中のものです。
07/12/01 02:38:10 NJujLxPi
寄越せといってみたりしたが別人だ

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

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

627:名前は開発中のものです。
07/12/01 03:09:01 NJujLxPi
620でてこいよ疑われてるぞ

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

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

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

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

632:名前は開発中のものです。
07/12/01 03:44:37 do+f7uIl
>>631Vipへカエレ


633:名前は開発中のものです。
07/12/01 03:45:45 NJujLxPi
オマエモナー 


く、悔しくないからな

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

635:名前は開発中のものです。
07/12/02 03:21:15 RfbAwBK6
質問です。

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

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

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

636:名前は開発中のものです。
07/12/02 03:26:46 RfbAwBK6
忘れていました。

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

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

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

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

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

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

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

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

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

ヒント教えてください

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

643:名前は開発中のものです。
07/12/04 21:57:57 lZt/Vorp
>>642
俺も初心者だけど浮かんだので書いてみる。

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

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

644:名前は開発中のものです。
07/12/04 22:08:42 lZt/Vorp
>>641

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

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

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

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

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

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

647:名前は開発中のものです。
07/12/04 22:43:28 NwDfsPPB
遅かったかも試練が、書いたので置いとく。

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

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

 case 1: // 2発目
 // ここにモーションを発動させる何かを書く。
 attack += 1;
 break;
// ...
}
...
モーションは、タイムラインで設定すればいいとおも。
もしくは、ステップイベントでモーションを設定してる自作スクリプトを呼び出す、のもアリかなぁ
例えば引数を、attackとモーションが始まってから経過したステップ数にして、
attackでモーションの種類を場合わけをして、
経過ステップ数でそれに応じた移動をさせたり、アニメーションさせたり、キー入力の可否を設定したり、等々...
ま、それだとタイムラインとあまり変わらんのだが。

648:名前は開発中のものです。
07/12/04 23:05:42 lZt/Vorp
>>647
thx
caseもやってみたけど、イメージ通りとはいかなかった。
(俺のやりかたが悪いのか

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

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

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

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

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

少し落ち着いてくる。

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

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

653:名前は開発中のものです。
07/12/06 00:37:05 ipO1poTD
連続攻撃判定うまくいかなーいorz

654:名前は開発中のものです。
07/12/06 22:57:30 g7KZCqa1
はじめましてこんばんわ。
最近gamemakerにはまりだした、新人です。
2D横スクロールゲームを作ろうと思って>>305さんのサンプルを参考にさせてもらい、
ちょくちょく進めてるんですが、途中で詰まってしまって、原因を探ろうにも
全くわかりません。どなたかご教授お願いします。

URLリンク(tonosiki.mbnsk.net)

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

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

途中、命令をコメント文で囲っていますが、気にしないでください。

655:名前は開発中のものです。
07/12/06 23:41:29 x5GKX6Js
動きのあるオブジェクトを動きのあるオブジェクトにチェンジすると
スプライトが1から表示されない時があるのですが解消方法はありますか?

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

657:名前は開発中のものです。
07/12/07 00:58:23 +n/vdyUz
>>654
見たところ、unkown variable というエラーがでるような記述ではないと思います。
そこで、unknown variable gamemaker bug というキーワードでググったところ、
海外のフォーラムに、ごく稀にそのようなことが起こる、との書き込みがありました。
URLリンク(gmc.yoyogames.com)
下から2番目に Alert Games という人が答えています。
どうやら、プロジェクトをセーブする際にバグがあるのかもしれない、といっていました。
その人はバックアップファイルで元に戻すことを勧めていますが、
私のほうで obj_main オブジェクトを丸ごと duplicate して(右クリックでできます) 再度ためしたところ、unknown variable のエラー表示はなくなりました。
こんなことが起こるんですねぇ・・・。



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

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

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

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

660:名前は開発中のものです。
07/12/07 02:40:14 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
07/12/07 07:17:58 MOpCkhcY
>>657
わざわざ、調べていただいて、さらに海外フォーラムまで言っていただいて
ありがとうございます。

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

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

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

665:名前は開発中のものです。
07/12/08 18:34:14 HAW715W6
>>664
ありがとうございます。

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

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

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

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

668:名前は開発中のものです。
07/12/08 21:06:20 HAW715W6
ってダメだ。 drawイベントじゃなくなるorz

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

669:名前は開発中のものです。
07/12/08 21:38:56 Cn07bZV4
if文の外に出すんだ

670:名前は開発中のものです。
07/12/08 21:47:16 HAW715W6
攻撃回数でサイズを変えたいんでそれは・・・

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

671:名前は開発中のものです。
07/12/08 22:00:33 HAW715W6
・・・そもそも攻撃した時だけ表示したいんだからダメか。

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

672:名前は開発中のものです。
07/12/10 15:28:56 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
07/12/10 15:45:44 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
07/12/10 16:18:53 ey1ac3Xs
すまない、書き込んだ矢先に的外れなような気がしてきた。でもなんで描画イベントなの?

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

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

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

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

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

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

677:名前は開発中のものです。
07/12/11 00:16:53 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:名前は開発中のものです。
07/12/11 11:20:53 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
07/12/11 18:12:40 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:名前は開発中のものです。
07/12/11 18:31:50 QXoJ6Zco
>>678
ありがとうございます。

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

681:名前は開発中のものです。
07/12/12 19:32:20 I7CK0gCA
>>680
>584にV6用のがリンクしてあるけど
他のバージョンのが欲しかったら本家フォーラムから
URLリンク(gmc.yoyogames.com)

682:名前は開発中のものです。
07/12/12 19:50:15 Bw7drWJW
>>681
ありがとうございます。
v7はあるようですが、v6はないようですね。

683:名前は開発中のものです。
07/12/12 19:51:08 Bw7drWJW
すいませんありました。
数字のないほうがv6でした。

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

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

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

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

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

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

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

691:名前は開発中のものです。
07/12/17 00:34:29 d4jiuAy+
>>690
relativeにチェック入ってる?

if a position is collision free (x:-400 relative:check)
Jump to a given position (x:-400 relative:check)

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

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

URLリンク(www.uploadjar.com)

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

で終わってる状態です。
Key Release <Left> に Set variable rol to 0
Key Release <Right> に Set variable rol to 0
をそれぞれ追加してください。

694:名前は開発中のものです。
07/12/17 01:14:21 d4jiuAy+
>>693
違いました。
忘れてください

695:名前は開発中のものです。
07/12/17 01:46:13 d4jiuAy+
>>692
・・・恥ずかしい間違いしたので問題の箇所の例として加修正してます。

URLリンク(www.uploadjar.com)

696:名前は開発中のものです。
07/12/17 04:52:03 1bZl34aq
>695
とても早いレス、ありがとうございます!
自在に攻撃が出来るようになり、左右移動まで作って頂いてとても嬉しいです。
本当にありがとうございました!

697:名前は開発中のものです。
07/12/18 14:25:36 KuzWpsao
下および横からはすり抜け可能で、
上からは着地可能、
かつ着地後下キーを押すと下へすり抜けられるブロックを、
Solidを外さず、かつブロック側の処理で実現したいのですが、
どうすれば良いでしょうか?

Solidを外すと、その他の判定処理で不具合が生じるので、
なるべくSolidのままで作りたいのです。
また、同時に4人のキャラクターを操作するため、
下キーを押している間と上昇中は非Solidにするという方法は使えません。

698:名前は開発中のものです。
07/12/18 16:44:34 N2pESpOe
URLリンク(gamdev.org)

GM6でマリオの様なアクションゲームを作っており、乗ると落下するブロックを作ってみました。
が、普通のブロックから落下するブロックに空中移動無しで触れても落下せず、ブロックの上でジャンプしなくては落下しないのです。
原因もあまり解らずどうすれば良いのか解りません。ご教授お願いします。

699:名前は開発中のものです。
07/12/18 19:47:28 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:名前は開発中のものです。
07/12/18 21:18:56 u37r1wue
>>697
考えてみたんだが、結構無茶な要求・・・。
なぜなら、solidの仕様は、コリジョンイベントの前後で、2つのインスタンス間で絶対に「めり込み状態」を認めないような仕様になっているから。
solid なインスタンスとのコリジョンイベントは、以下のような流れになる。()内は solid の時だけ処理される。

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

なもんで、その床とキャラとのコリジョンイベントでアクションを起こさないほうがよい。
てことになると、solidの意義が薄れることになるが・・・。
どうしてもコリジョンイベントも定義したいなら、コリジョンイベント中で xprevious yprevious を自前で変更してしまうか、
end step で通過可能にする処理を書くとかするしかない。いずれも、かなり面倒になりそう・・・。
それよりも、着地の処理をコリジョンイベントに頼らない方法で着地させ、
その床との接触中に下を押すと gravity を発生させ、
通過中はgravityを0にしないような処理を
キャラ側のステップイベントとかで記述するようにするようにしてみてはどうかな・・・?わかりにくかったらごめん。

701:名前は開発中のものです。
07/12/18 22:58:45 RkfysYSU
solidは融通が利かないから
すり抜け床には使えないな。

702:697
07/12/19 00:13:09 SlaPK2id
うーん、どうやら無理のようですかね。
なんとか工夫してみようと思います。

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


704:697
07/12/19 18:35:50 SlaPK2id
ありがとうございます。
うーむ。やはりキャラ側で処理した方が良いのか・・・。
頑張ってみます。

705:名前は開発中のものです。
07/12/19 21:55:33 +fFhIeoE
>>704
キャラ側で指定する時に都合が悪くなければ、
壁用判定オブジェクトを作り、
全キャラにそれを親指定するというのはどうだろう?

706:名前は開発中のものです。
07/12/20 04:58:53 Tb+MgVar
>>699
ありがとうございます。
アクションアイコンのみでしか作った事無かったので難しいですね・・・。
頑張ってみようと思います。

707:名前は開発中のものです。
07/12/23 00:32:42 U9AhK/mz
HPの他にMPのようなものをつくりたいんですがどうやったら二つゲージを表示できますか?

708:名前は開発中のものです。
07/12/23 00:42:15 QJlA1OEF
自前でスクリプトを書けばできるよ。

709:名前は開発中のものです。
07/12/23 05:15:16 ZiPFLJZ/
>>707
つ「global」

710:名前は開発中のものです。
07/12/23 12:40:14 U9AhK/mz
スクリプト作るのはよくわかりません…

711:名前は開発中のものです。
07/12/27 15:49:32 8DGio7LY
「動きのあるスプライトA」を「動きのあるスプライトB」に、もしくは「動きのあるオブジェクトA」を「動きのあるオブジェクトB」に変えると
1フレーム目から正確に表示されず困っているのですが仕様ですか?

主人公が待機状態で攻撃キーを押すと「10フレーム目に攻撃判定を発生させる」主人公オブジェクト①に変化して
アニメーション終了時に元の主人公待機状態に戻るように設定したのですが①が5フレームあたりから始まって攻撃が異常に早く発生してすぐアニメーションが終わってしまったり
11フレームで攻撃判定がなくなってからアニメーションが開始されたりして毎回正確なフレームからスタートされません。

712:名前は開発中のものです。
07/12/27 18:16:42 1ajxqRXW
もう少し伝わりやすく書いてくれると回答者は助かります。

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

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

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

容易に仕様と言わないでください。

713:名前は開発中のものです。
07/12/27 18:22:56 1ajxqRXW
バージョン7及びGMLを使用している場合は、

sprite_index = spr_A
image_index = 0
image_speed = 10

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

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


再度伝えます。
リンク先のヘルプや exsample を参考してください。

714:名前は開発中のものです。
07/12/27 18:28:43 1ajxqRXW
アニメーションの再生がおかしいと感じる時は、
step の実行順番を再認識してください。
step には順番があります。

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

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

よりよい Game Maker Life を。

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

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

717:名前は開発中のものです。
07/12/29 11:53:52 YtFwzcBI
ゲージくらい変を数使えばできるだろう?

718:名前は開発中のものです。
07/12/29 11:54:46 YtFwzcBI
変数をですw
変を数ってなんだ…orz

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

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

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

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

723:名前は開発中のものです。
08/01/01 04:09:53 HO6m3WgJ
>>722
意味が わからない

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

724:名前は開発中のものです。
08/01/01 13:01:48 5Zz7hnr7
変な異常って頭痛が痛くね?

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

726:名前は開発中のものです。
08/01/01 18:25:13 HO6m3WgJ
>>725
異常な上に変なんじゃね

727:名前は開発中のものです。
08/01/01 20:03:22 krtrP6kC
>>726
724に言えよ

728:ぺしゃみゅんち
08/01/01 21:13:12 41An0v9b
>>726さん おっしゃるとおりです
>>723さん 修正しましたがパソコンの調子が悪く
      アップロードに時間がかかるのでほかの修正箇所が
     出てきたところでアップロードさせなおしていただきます

異常とは本来右左でキャラクターを選択するのですが
怪鳥から左を押すと獅子になるはずが怪鳥のままになっているのです
また次が獅子になるはずのところでは怪鳥に飛んでしまうのです
どうしてこんなことがおきてしまうのでしょうか?
去年の9月から考えています
しかし分かりません
助けてください

729:名前は開発中のものです。
08/01/02 03:01:30 0XzNgAng
>>728
所々に音を鳴らす命令を入れて実験してみたところ、どうやら
オブジェクトEvsEのpress<left>を実行した後、すぐさまWvsEのpress<left>も実行しちゃってるみたい。
SvsEやNvsEのpress<right>での実行も同様。
原因は多分、1フレーム間でのインスタンス同士の実行順にあると思う。
これはもうおそらく仕様なので、次のような工夫が必要になってくる。

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

……というわけで、フラグ変数をうまく使ってみると良いと思う。

730:ぺしゃみゅんち
08/01/02 13:25:34 19fPmr/N
ありがとうございました
変数などは分からないので
押し上げイベントに変更してみました
そのほかいろいろ改良しましたらもう一度アップロードします

731:名前は開発中のものです。
08/01/04 02:27:54 KY38Ruby
5.3Aもう3年くらい使ってるけどオブジェクトの名前とか日本語でもいけるんだな
あと描画イベントの使い途がいまさら解った
嘘みたいだろう?俺、いままで文字とかいちいちスプライト作って表示してたんだぜ?

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

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

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

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

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

737:名前は開発中のものです。
08/01/06 21:29:22 OjABw8Q7
素早い返答ありがとうございます。

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

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

740:名前は開発中のものです。
08/01/09 10:04:09 jHNZrdiZ
GMJにここの書き込み反映されてるんだなスゲー

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

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

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

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

744:名前は開発中のものです。
08/01/19 00:58:07 dhI4eC+v
登録するのが嫌で5.3Aを落としてきたけど、XPで不便な事って有るのか?

745:名前は開発中のものです。
08/01/19 02:10:04 pvbjWxud
>>744
あるとすれば

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

ってくらいだな。

746:名前は開発中のものです。
08/01/19 06:44:46 lpPp39mj
URLリンク(gamdev.org)
日本語化辞書
途中だけど、続き誰か頼む
使い方教えてとかいう、ググれない厨は落とさないように

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

748:名前は開発中のものです。
08/01/22 21:09:08 45T81GjC
>>743
今どうやってるん?

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

750:名前は開発中のものです。
08/01/22 21:22:18 NoSS/6O8
>>748
いきずまってます\(^o^)/
動いてる方向を取って1/3ステップ進ませて今進んでる方向がうんたらかんたら

751:名前は開発中のものです。
08/01/23 02:48:32 Q1tjyTbC
>>746
ものすごくGJ

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

753:名前は開発中のものです。
08/01/24 03:09:34 n00gmxln
前回692です。
また製作の壁にぶつかってしまい困っています。

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

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

URLリンク(www11.axfc.net)
Keyword(DLパス)は0011です。


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

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

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

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

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

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

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

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

761:名前は開発中のものです。
08/01/31 18:22:51 fnpWL05f
>761
ばーか

762:名前は開発中のものです。
08/01/31 22:04:15 TXruG4et
>>762
( ^ω^)…

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

765:名前は開発中のものです。
08/02/08 18:50:11 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にする}」
って組んだらどうかな?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch