【2D】ゲーム作成ツールGameMaker part2【マンセー】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2005/07/12(火) 09:03:47ID:DK0oUKwt●本家(英語)
ttp://www.gamemaker.nl/
●GameMaker Japan - 非公式情報サイト(日本語)
ttp://gamemaker.main.jp/
●初心者向けチュートリアル
ttp://gamemaker.main.jp/modules/articles/index.php?cat_id=1
前スレ: 【2D】ゲーム作成ツールGameMaker【マンセー】
http://pc8.2ch.net/test/read.cgi/gamedev/1087068523/
0478名前は開発中のものです。
2007/10/11(木) 07:28:19ID:lfKlsL3a0479名前は開発中のものです。
2007/10/11(木) 23:29:34ID:j9EjwRAbスプライトとかオブジェクトとかは一応ちゃんと残るよ。
ただ、一部のアクションは「古いアクション」とか
「不明なアクション」てやつに置き換えられてしまって
中身が見えなくなる。7で編集を続けるつもりなら、
元のgmdをとっておいて見比べながら直さないと辛いかも。
いずれにせよ、5から6で色々削られたり変更になったり
してるから、それなりに書き直さないと動かないと思う。
0480名前は開発中のものです。
2007/10/16(火) 08:31:52ID:KDtruK3Z0481名前は開発中のものです。
2007/10/17(水) 13:07:25ID:NOHDADh4など範囲を指定してそこにキャラクターが来た時行動を起こさせることはできますか?
0482名前は開発中のものです。
2007/10/18(木) 11:13:19ID:zjjlkNBlどちらもボスキャラとプレーヤーキャラのインスタンス原点比較で出来る
「ボスの目の前一直線に主人公がきた時」は「ボスの横座標(x座標)と主人公の横座標が一緒となった時」(横画面を想定して)なんだけど
実際キャラを動かすとx座標がぴったり合うことはすごく稀なので幅をもって比較してやるのが普通。
ということでオブジェクト名をボスキャラ:obj_bosプレーヤーキャラ:obj_pcとし、判定をobj_bos側で処理するとして判定幅を変数でobj_bosに持たせてやる(例ではbias)
以下GMLで書くと(アクションでやる場合はIf a variable has a valueアクションを組み合わせて出来ます)ステップイベントに
if(obj_bos.x + bais <= obj_pc.x && obj_bos.x - bais >= obj_pc.x)
//ボス原点+バイアス値よりプレーヤーキャラ原点が小でボス原点−バイアス値よりプレーヤーキャラ原点が大の時
{
//ここに攻撃処理を記述
}
と書いてやればいい。
「主人公がボスの上(ry」は同じ要領でプレーヤーキャラがボス上の矩形領域にいるかどうかを、x座標y座標を各々比較してやればいいと思います。
0483482
2007/10/18(木) 11:16:42ID:zjjlkNBl0484482
2007/10/18(木) 11:43:05ID:zjjlkNBl× if(obj_bos.x + bais <= obj_pc.x && obj_bos.x - bais >= obj_pc.x)
○ if(obj_bos.x + bais >= obj_pc.x && obj_bos.x - bais <= obj_pc.x)
自分こういうのおおいな・・・・ごめんなさい
0485482
2007/10/18(木) 12:01:37ID:zjjlkNBl横の場合はx座標ではなくy座標でした・・・・・
本当にごめんなさい
0486名前は開発中のものです。
2007/10/18(木) 15:58:06ID:2p+G78pK半透明で当たり判定のないオブジェクトを作ってそれにチェンジするといろいろ変数を追加しないといけないので面倒なのdすが・・・
0487名前は開発中のものです。
2007/10/18(木) 18:41:17ID:HP36It3Q自キャラに無敵フラグを追加、で解決するような...。駄目な理由があるのかな。
自分だったら、当たったときにフラグチェックして無敵だったらコリジョン処理しない(即座に抜ける)ようにし、
タイマー使って一定時間後に無敵フラグ消失、というような感じにする。
0488名前は開発中のものです。
2007/10/18(木) 20:07:50ID:8B1FDJnbシューティングならそれでいいかもしれない
横視点アクションとかで地面とかが関わるならもう少し工夫しないとだけかも
このスレのログを辿ると似たよう話に当たるかもしれない
0489名前は開発中のものです。
2007/10/18(木) 20:40:28ID:vfcbVUIf0490名前は開発中のものです。
2007/10/18(木) 21:42:24ID:6eGl9S9Q0491名前は開発中のものです。
2007/10/19(金) 07:37:01ID:MUFGtR6o0492名前は開発中のものです。
2007/10/19(金) 18:06:04ID:Vl0npn9t曲Aが流れているときにちょっとした短い曲Bを流したいのですが
「曲A一時停止>曲B再生>曲B終了>曲Aを一時停止の時点から再開」という風にするにはどうしたらいいのでしょう
0493名前は開発中のものです。
2007/10/19(金) 22:59:25ID:6RGcBw98これを消すのはliteでもできる?
0494名前は開発中のものです。
2007/10/20(土) 00:33:48ID:hAmk06Ct一時停止は、関数 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
無理です。
0495名前は開発中のものです。
2007/10/21(日) 00:27:43ID:1O8dqLnR0496名前は開発中のものです。
2007/10/23(火) 20:19:08ID:1Dn54OyY7は日本語化できますか?
0497名前は開発中のものです。
2007/10/23(火) 20:39:07ID:1Dn54OyY日本語のヘルプはどこでダウンロードできますか。
>228さんのchmでは、書かれていない部分があります。
それを補うにはどうすればいいですか。
0498名前は開発中のものです。
2007/10/24(水) 18:24:35ID:CNVx+st/0499名前は開発中のものです。
2007/10/24(水) 21:53:11ID:WgthXhdICの簡易版みたいな感じですね。
0500名前は開発中のものです。
2007/10/24(水) 23:12:03ID:3bv97O32日本語の資料があれば人気出ると思う。
0501名前は開発中のものです。
2007/10/24(水) 23:16:00ID:IY/D3NkkGM7です。
0502名前は開発中のものです。
2007/10/25(木) 00:18:31ID:vNqY00upbGM.exe を使用して音楽をならそうとしてるのですが
デモの通りに設定しているはずなのに変なのです。
どんちゃどんちゃ というのが二重再生みたいに
ドドンチャチャドドンチャチャ とせわしなく再生されます。
しかも終了した後に、ノイズがいつまでも残ってる状態です。
(プロセルには何も残っていません)
何が悪いのでしょうか。
0503名前は開発中のものです。
2007/10/25(木) 00:56:28ID:vNqY00up一度すべてのオブジェクトをクリアして再設置した所、無事期待通りの反応を返してくれました。
・・・何故治ったのか原因が掴めないので不安ですが、また似た状況なった場合、
動作報告させて戴きます。
0504名前は開発中のものです。
2007/10/25(木) 05:08:36ID:AiXecA9Kもう少し頑張ってみるか
0505名前は開発中のものです。
2007/10/25(木) 10:12:51ID:/6XVTfMT日本語化できない部分もあるし……。
0506名前は開発中のものです。
2007/10/25(木) 12:51:49ID:kOwmLgcJ0507505
2007/10/25(木) 13:46:16ID:gKkUjDf5イベント追加するときのイベントの種類とか、アクションを追加するときの OK や Cancel の文字とか。
GameMaker側でフォントの設定もできないようだった。スクリプトのコードや、GameInformation の部分では変更可能だったけど。
……もしかして、俺のやり方が違っていたのだろうか。
0508名前は開発中のものです。
2007/10/25(木) 13:59:20ID:gKkUjDf5Cancel → キャンセル はE-WordChanger2000側でデフォルトで変換しているようで、何も設定していなくても変換され、文字化けしてしまう。
デフォルト変換をやめるよう設定できるのかな。途中まで作ってたんだけど、そのやり方がわからんからやめてしまったんだ。
なおGameMakerはデフォルトのフォントは MS Sans Serif(海外ソフトではお馴染み) が使われているようだ。
0509名前は開発中のものです。
2007/10/25(木) 21:45:38ID:vNqY00up簡単に決済する方法はありますか。
0510名前は開発中のものです。
2007/10/25(木) 23:06:27ID:oTzrknN0まず、yoyoサイトのアカウントを取得します。※メールアドレスが必要。無料のものでかまいません。
ログインしたら、ttp://www.yoyogames.com/gamemaker/buy/にアクセス。
クレジットカードかPayPalで決済するとすぐにレジストできます。
ですが、PayPalでもクレジットカードが必要になりそうですよね…
それ以外の方法となると、上記のページ下にあるように、helpdeskに問い合わせをしなければならないようです。
0511名前は開発中のものです。
2007/10/26(金) 19:58:39ID:owvMBGHB丁寧にありがとうございます。
やっぱりクレジットカードが必要になるのですね・・・
フリー版でやれるところまで頑張ってみます。
0512名前は開発中のものです。
2007/10/27(土) 04:42:33ID:bo72z7qTx0〜ならできるのですが><
0513名前は開発中のものです。
2007/10/27(土) 05:51:00ID:b7zQv7OSハシゴ(3x16ドット)あるのですが、キャラとぶつかって「ハシゴ」に乗ってしまいます。
キャラがハシゴと接触したときにボタンを押すと掴む、何もしなければ素通りさせるという処理をしたいのです。
何か良い方法はないでしょうか。
0514名前は開発中のものです。
2007/10/27(土) 06:52:36ID:UL5QEHWV0515名前は開発中のものです。
2007/10/27(土) 14:25:15ID:47eNMq37使ったことないがx0〜320を出してそれに160足せばいいんじゃね?
0516名前は開発中のものです。
2007/10/27(土) 14:38:37ID:szgPSdg7通常のChange the instanceアクションで、Apllies toを使って
変更したいオブジェクトを指定すれば良いのはわかるのですが、
同じ事をGMLでやろうとしても、インスタンスを変更する命令が
instance_change(obj,perf)とposition_change(x,y,obj,perf)しか見当たらないのです。
オブジェクト名を指定してそのインスタンスを変更するというGML命令は無いのでしょうか…?
0517名前は開発中のものです。
2007/10/27(土) 15:43:28ID:JBeAIlonつwith文
with (obj) {
// このブロックではobjのインスタンスすべてに適用される
// with文を呼び出している元々のオブジェクトに対しては other を使用する。
// x = 0; // これはobjのインスタンス全てのx座標が0となる。
// other.x = 0; // これはwith文を実行しているインスタンスのx座標が0となる。
//
// 特定のオブジェクトのインスタンス全てではなく、一つのインスタンスに適用したいなら、
// with文の指定でオブジェクト名ではなくインスタンスIDを使用すること。
// Tips : with文は、繰り返し処理である。対象となるインスタンスIDの若い順に実行されているようである。
}
0518名前は開発中のものです。
2007/10/27(土) 18:29:37ID:mK85JoeLようやくwithが理解できました。
言われてみれば簡単でしたね。
ありがとうございました。
0519名前は開発中のものです。
2007/10/27(土) 19:06:11ID:MYcBDy56上に乗れるが横からは通れないようなものを作りたいのですが何を設定すればいいんでしょう
0520名前は開発中のものです。
2007/10/28(日) 01:05:44ID:4H1O2wN3つ VISAデビット
0521名前は開発中のものです。
2007/10/28(日) 02:22:00ID:eDM7pNazそれだと上からも横からも通らないオブジェクトだから普通のオブジェクトじゃない?
0522名前は開発中のものです。
2007/10/28(日) 10:38:07ID:cbYdgwGn0523名前は開発中のものです。
2007/10/28(日) 11:40:24ID:leAMyaxzマリオやロックマンのような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
のようなかんじで。
0524名前は開発中のものです。
2007/10/28(日) 21:14:01ID:cbYdgwGnもうひとつ聞きたいのですがルームで設定したview1やview2を切り替えるにはどうしたらいいのでしょうか。
0525名前は開発中のものです。
2007/10/29(月) 05:01:09ID:zuWao6Bl0526名前は開発中のものです。
2007/10/30(火) 11:56:12ID:G3KKfzgr0527名前は開発中のものです。
2007/10/31(水) 17:07:35ID:kICjS8bbウインドウサイズについて困っています。
Settingでwidth:640 height:480にしています。
ゲーム起動してそのままのサイズで始めたいのですが、モニター画面めいっぱいに広がって起動してしまいます。
どこを設定すればよいのでしょうか。
View in room
0528名前は開発中のものです。
2007/10/31(水) 17:11:22ID:kICjS8bbView in room は、見せる範囲ですよね。そこは w:640 h:480 にしています。
port on screen でも同じく w:640 h:480 にしています。
ですがport on screen のサイズを変えると、ウインドウサイズは小さくなるのですが、絵が潰れてしまいます。
どこを設定すれば、元の絵のまま w:640 h:480 で綺麗に表示できるのでしょうか。
0529名前は開発中のものです。
2007/10/31(水) 17:28:18ID:kICjS8bbgrobal game settings の graphics > scaling のfixed scale が 200% になってました。
お騒がせしました。
0530名前は開発中のものです。
2007/11/01(木) 22:33:50ID:4l261QOy変数として扱うには、どうすればいいですか?
ver7 未レジスト
0531名前は開発中のものです。
2007/11/02(金) 04:01:27ID:qbEUBjbm亀レスですみません。例えば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のファイルを閉じます。
0532名前は開発中のものです。
2007/11/03(土) 19:29:28ID:zfNPIsFowikiはgamdevにもあるけど、あそこは紹介程度にして詳しい情報はほかのところでまとめたほうが良い気がしますし。
内容がGMJapanと被ってしまうのも気になります……。
ページ
ttp://www.wikihouse.com/GameMaker/index.php?FrontPage
まだGMLの変数一覧とか、関数一覧(数学関数以外ほとんど白紙)ぐらいしかないです……。
もし需要があるなら、補完してくれるとありがたいです。(GML関数の解説でも一人じゃつらい…orz)
あと、ほかにどんな情報がほしいのかとかもわからんです。公式チュートリアルの解説とかあるといいのかな?
0533名前は開発中のものです。
2007/11/03(土) 19:59:03ID:Z5CTQc/aどこかに一行入力?があると嬉しいです。
>>531
ありがとうございます。
狙っている動作は、各キャラクターのパラメーターをプレイ時に読み込む事です。
(移動力・攻撃力の差異等)
GML、iniのの項目では全体の設定として使用するような事がかかれてあったので
最後のテキストファイルを読み書きする方法でいきたいと思っています。
指定行の読み込みはできるのでしょうか。
0534532
2007/11/03(土) 21:43:07ID:zfNPIsFoTopページにコメントを設置しました。
あとご質問ですけど、キャラごととなると 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) ファイルを閉じます
0535名前は開発中のものです。
2007/11/04(日) 03:55:29ID:7Uhxdtas0536名前は開発中のものです。
2007/11/06(火) 01:19:01ID:IQqW+3zu0537名前は開発中のものです。
2007/11/07(水) 00:08:08ID:mZ/mosz10538名前は開発中のものです。
2007/11/07(水) 00:10:02ID:mZ/mosz1質問です。
ヘルスメーターをキャラクターの頭の上に表示したいんですが、
Drawイベントにセットしたら、キャラクターのスプライトが
消えてしまうのです。
キャラクターを含め、深度?の設定は何も弄っていません。
どうしたらいいのでしょうか。
0539名前は開発中のものです。
2007/11/07(水) 01:24:51ID:k+N2ubakdrawイベントになにかアクションを置いてしまうと、設定されてるスプライトも描かなくなってしまうんだよね。
この仕様はおそらく、スコアやライフを自前で描くオブジェクトを用意したいときに、
エディタ中でルームに配置するときの識別アイコンとしてスプライトを使用することを視野に入れていると思う。
んなもんで、スプライトを表示したければ自前でやらなければなりませぬ。
drawイベントの一番上にでもオブジェクトに設定しているスプライトを描くよう、描画アクションを追加してください。
0540名前は開発中のものです。
2007/11/07(水) 10:27:56ID:lUo/Ckqnstepイベントとset varを使うような気がするのですが…
0541名前は開発中のものです。
2007/11/07(水) 22:06:45ID:mZ/mosz1ありがとうございます。
スプライトを表示することができるようになったのですが、
イベント左キーでキャラクターを左向き、
イベント右キーで右向きに向くようアクションを設置していたのですが、
ずっと、drawアクションで設置したアクションのスプライトが
表示されつづけて変化しません。
自分は根本的に何か勘違いしているのでしょうか。
0542名前は開発中のものです。
2007/11/07(水) 22:09:58ID:HXVYqugh角度を求めるアクションがないし、自前でやろうとしても三角関数の知識がない無理だし、以下の手順で。
手順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°で画面右方向)の数値が得られるので、それをどうにか処理してください。
0543名前は開発中のものです。
2007/11/07(水) 22:20:34ID:HXVYqugh表示を変えたいなら、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以上を指定すると固定される。
0544名前は開発中のものです。
2007/11/07(水) 22:21:53ID:HXVYqugh0545名前は開発中のものです。
2007/11/07(水) 22:27:00ID:HXVYqugh>>543の例だと表示はいいかもしれないが、当たり判定とかまずいな。
変数名はdrawSpr ではなく、 sprite_index としてください。
0546名前は開発中のものです。
2007/11/07(水) 22:45:10ID:mZ/mosz1!!!
うごきました。 狙った通りの動きをしてくれました。
ありがとうございます。 コードってすごいですね。
splite_index で動作しました。
0547名前は開発中のものです。
2007/11/08(木) 00:01:11ID:d2+xWEQmつpoint_direction
0549名前は開発中のものです。
2007/11/08(木) 00:28:00ID:/npJWupm弾があたったらHPを減らすようにしたいのですがどうしたらいいのですか?
0550名前は開発中のものです。
2007/11/08(木) 09:51:24ID:/npJWupmヘルスメーターを複数設置することってできますか?
0551名前は開発中のものです。
2007/11/08(木) 12:51:44ID:n3szi+FFまずは聞く前に>>1の情報サイトを見ることから始めないか?
0552名前は開発中のものです。
2007/11/08(木) 18:55:03ID:lBo37aADコードをうつ内蔵のエディターで、「Ok,Save Changes」のボタンのショートカットキーか
他のエディターを使用する等はないでしょうか。
0553名前は開発中のものです。
2007/11/08(木) 20:46:09ID:nEyNxx0n外部のテキストエディタを指定することは可能です。
FileメニューからPreferance を開くと、Script&code とあるので、
その一番下のところに外部エディタを指定するところがあります。
0554名前は開発中のものです。
2007/11/08(木) 20:57:31ID:lBo37aADありがとうございます。できました。
しかし、外部エディタを使うとgamemaker自体が閉じるんですね。
外部エディタを終了すると、gamemakerが戻ってきますが。
0555名前は開発中のものです。
2007/11/09(金) 01:24:06ID:jfoeydIJそれらを変数として扱うやりかたがまだわかりません。
kitai001.txt
attack=50
move=5
pow=3
という内容で機体データを読み込んだ時に
変数として扱いたいんです。
どうすればいいのでしょうか。
0556名前は開発中のものです。
2007/11/09(金) 02:01:52ID:6eGYZdLF一番簡単なのは、execute_file(fname)、もしくはexecute_string(string)かなぁ。
指定するテキストファイルや文字列がGMLの文法にのっとってることが前提だけど。
例に出ている
attack=50
move=5
pow=3
とかなら全然OK。変数を代入したいオブジェクトでexecute_file(fname)を使うと一気に代入されるはず。
キャラ毎にファイルを作っておいて、キャラ毎に実行してみるようにしてみては?
ついでに言うと、execute系の関数は実行時にコード変換されるから、処理が重い(と予想される)。
今回のような初期化処理に利用するぐらいにしたほうが良い。
もちろん、文字列を扱う関数を駆使してもできるけど、かなり面倒かな…。
0557名前は開発中のものです。
2007/11/09(金) 02:14:59ID:UPA3QoAL調べてもわからないので教えてくれるとありがたいです。
0558名前は開発中のものです。
2007/11/09(金) 18:08:17ID:jfoeydIJありがとうございます。
やってみましたがエラーが出てできません。
fileId = file_text_open_read("chara/pc1/kitai001.txt");
execute_file(fileId);
file_text_close(fileId);
コードはこのようでいいのでしょうか?
gamemaker7を使用しています。
英語のヘルプには、execute_file(fname,arg0,arg1,...) と書いてましてarg0...というくだりが理解できません。
0559名前は開発中のものです。
2007/11/09(金) 18:09:43ID:jfoeydIJ0560名前は開発中のものです。
2007/11/09(金) 18:55:21ID:nbXU63ap>>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の内容終わり---
というようなことができる。
0561名前は開発中のものです。
2007/11/09(金) 19:07:33ID:jfoeydIJありがとうございます。
file_text_open_readで呼び出したIDじゃないと受け付けないと思いこんでました。
無事、読み込みました。
・・・そのコードの実行時に、ファイル内部へarg001...を全部もっていき、
そのファイル内コードで実行、結果内容がそのまま実行?されるわけですね。
7から書かれてるということは6までは出来なかった事なのですね。
それとは別の事なのですが、やっていて不思議に思ったのですが、
1つのイベント内で記述した変数は、他のイベント内で使用できないのですね。
オブジェクト内すべてで(varやglobalを使わない)変数を使えると思ってました。
0562名前は開発中のものです。
2007/11/09(金) 22:30:00ID:jfoeydIJ今、ちょっと試しにexe化したんですが、上記の外部ファイルを読み込む方法だと
exe化したあとでもその外部ファイルが必要なのだとエラーが出てしまいました。
全てを内包してexe化する方法はないのでしょうか。
0563名前は開発中のものです。
2007/11/10(土) 23:10:13ID:Rkru7jD1サクサクっと指示されままボタンおしてると、本体起動してないのに勝手にレジスト状態になってました。ビックリ。
0564名前は開発中のものです。
2007/11/11(日) 00:53:12ID:dEP/qcYk0565名前は開発中のものです。
2007/11/11(日) 00:58:48ID:PY4Qhhzp初起動でレジスト状態でした、ということです。
0566名前は開発中のものです。
2007/11/11(日) 07:17:37ID:Ai+8m8uK「Confirmation - Purchase of Game Maker」というメールが届いたのですが、
ここからどうしたらレジストできるかわかりません。
どうしたら良いのでしょうか。
0567名前は開発中のものです。
2007/11/11(日) 12:00:56ID:oO8sNPsbメールにアクチベーションコードが記されていましたか?
されていれば、それを入力することでLite版からPro版にアップグレードできます。
yoyogamesからLite版のgamemakerをダウンロードしてきてインストールし、実行すると
Upgrade to the Pro Edition という画面が出てきます。
[Enter Activation Code]とありますので、そこをクリックします。
(出てきた画面が英語なら、下のほうにlanguageとありますので、日本語に変えることができます)
[新しいライセンスをアクチベーション]の項にいき、必要な情報を入力すると完了です。
0568566
2007/11/11(日) 16:52:35ID:Ai+8m8uKコードらしきものは
「Purchase Reference」というものしか記載されていませんでした。
試しにこれを入力しても、はじかれてしまいます。
このメールとは別に、暫く待てば
アクチベーションコードが記載されたメールが来るのでしょうか?
0569名前は開発中のものです。
2007/11/11(日) 17:34:56ID:oO8sNPsb私のときは、
Thank you for upgrading your copy of gamemaker to version 7. Your new activation code can be found below.
YOY-UPG-XXXXXXXXXXXXXXXX
To use this activation code download and install the Lite edition of Game Maker version 7.0
(if you have not done so already). Run the program.
In the form that pops up select the button "Enter Activation Code".
In the form that appears enter the code and provide your name and further information.
The program will then be upgraded to the Pro edition.
ote that you must be connected to the internet when upgrading the program.
というメールが来て、アクチしたら画面が変わって
Activation Successful
Thank you for activating this title.
License Holder YOY
Purchase Ref 1-UPG-XXXXXXXXXXXXXXXX
という画面が出てきました。XXXXXXXXXXXXXXXXは同じ文字列 でした。
その後OSを再インストールした際再アクチしたことがあるのですが、ReActivationで上記のライセンスで入力したらアクチ成功しました。
Licence HolderはみんなYOYのようです。
あと、これは記憶が曖昧なのですが、Purchase Refのはじめの1-は入力せずにUPG以下から入力したとき成功した気がします。
0570名前は開発中のものです。
2007/11/11(日) 18:04:58ID:oO8sNPsbデフォルトでRe-Install Existing Lisence(既存のライセンスを再インストール)となってて、再アクチの入力画面ですので注意してください。
新しいライセンスは、上のActivate New Licence(新しいライセンスをアクチベーション)を選択した後入力してください。
0571566
2007/11/11(日) 22:17:10ID:Ai+8m8uKDear ******
Please save this email and print a copy for safe-keeping as confirmation that you have purchased Game Maker for $ 20.00
License holder: (自分のメールアドレス)
Purchase Reference: 1-**************(UGPという表記は無し、14数桁の数字・アルファベット)
というメールでした。
英語がわからないなりに、検索して色々調べてみたところ、
GM7を購入すると「1-UPG-16ケタの英数字」が書いてあるメールが来るので、
1をYOYに変えて入力する、との記事があったのですが、
自分のところに来たメールには1-と14ケタの英数字しか書いてありませんでした。
「YOY-UGP-14桁の英数字」で入力しても、はじかれてしまいます。
どなたかわかる方はおられませんでしょうか…。
0572名前は開発中のものです。
2007/11/12(月) 00:47:58ID:SMPr5R3+ある人が一週間ライセンスが届かない、とsoftwrap(ライセンスを管理しているところ)に問い合わせたところ以下のメールが返信された、という例がありました。
URL:http://gmc.yoyogames.com/index.php?showtopic=280090&st=100about:blank
>To re-activate your software, kindly open it once you have installed it and follow the steps below:
>
>- You will need to be connected to the Internet
>- Access the software
>- Select "Re-installation of License" or "Activate License" from the screen that appears
>- Enter your License Holder Name and Purchase Reference Number in the fields provided (if necessary click the tick box which says "Re-install Existing License")
>- The software will automatically reinstall and be activated
>
>You will be pleased to know that we have included your license holder details to proceed with the re-installation. Please copy and paste the details below:
>
>License Holder Name: INSERT (EMAIL ADDRESS) HERE
>Purchase Reference: INSERT (#-##############) HERE
>
>Should you require further assistance, feel free to contact Softwrap Support desk at support@softwrap.com
>
内容を見る限り、Re-install Existing Licence からやるようですね。もしまだ試してないのであれば、試してみてください。
0573名前は開発中のものです。
2007/11/12(月) 01:38:54ID:X/VZL/ZVアクションゲームでキャラがダメージを受けたとき一定時間無敵時間を作りたいのですがどのようにすればいいでしょう。
0574566
2007/11/12(月) 02:57:08ID:XPKJHwMRわざわざ調べていた様で、ありがとうございました!
その方法で出来ました!
ずっとわからずに困っていたので助かりました。
0575名前は開発中のものです。
2007/11/12(月) 09:20:30ID:zbFXrWjk空気は読まなくてもいいが、過去ログは読めよ。
このスレのログだけでもヒントは書いてあるぞ。
0576名前は開発中のものです。
2007/11/13(火) 14:48:20ID:F+NwYmav開いたら何も無いんだけど、見えてないの俺だけ?
0577名前は開発中のものです。
2007/11/15(木) 22:49:15ID:Q3sXVJ6Zまぁええではないかええではないか
■ このスレッドは過去ログ倉庫に格納されています