【2D】ゲーム作成ツールGameMaker part2【マンセー】at GAMEDEV
【2D】ゲーム作成ツールGameMaker part2【マンセー】 - 暇つぶし2ch285:よこしまなMr.0
06/07/23 22:32:40 HKzhttqp
mbText Scripts 1.4.0 + jFont Maker 2.1.0をリリースしました。
URLリンク(gamemaker.main.jp)

全角文字スプライトのサブイメージ4,5(「・」しか無かった部分)を削除したのでメモリ節約が期待されます。
283に書いた謎のバグも修正しておきました。

286:名前は開発中のものです。
06/07/28 22:37:10 kEU2Tspd
よくあるアクションゲームのサンプル見るとさ、ブロックとの衝突判定しょぼくね?
左右に移動しながら天井や地面に接触すると微妙にずれやがんの。フォーラムで威張ってる奴も大した事ないし。
これがGMの限界?
綺麗に衝突判定できてる人教えてくれよ。

287:よこしまなMr.0
06/07/29 00:06:47 rsZSRXSS
>>286
GMにおけるCollision Event(HelpのCollision eventsの項に詳細が載っています)はあくまでも「衝突判定の一例」であり、当然ながら全てのアクションゲームに適用できるとは限りません。
この点でCollision Eventには限界があると言えます。

商用ゲームレベルの綺麗な衝突判定を行うには、時として、GMLを用いて"Collision Detectionロジックを自前で実装する"必要が生じてきます。
ここらへんは、スプライトの形状や各インスタンスの動きを綿密に分析してアルゴリズムを練っていくしかないでしょう。
(すなわちGMの限界は「GMLコードの処理速度の限界」と似たようなものです)

288:名前は開発中のものです。
06/07/29 00:36:56 A+n8FAHn
本家にある、ソニックっぽいゲームぐらい出来れば十二分だと思うけれど・・・。


289:名前は開発中のものです。
06/07/29 17:02:01 v2ZszvnO
ソニックは他より綺麗にできてるね
でもスタンドアロンじゃん
あれくらいのもののソースを公開しなくてどうすんだ

290:名前は開発中のものです。
06/07/30 11:19:24 I4TMncqW
それがGMクオリティ!

291:名前は開発中のものです。
06/08/12 02:42:23 DEKCS0ZY
バージョンアップしねえな・・・。

292:名前は開発中のものです。
06/08/12 16:23:30 ajfN3bzo
"The Game Maker's Apprentice"の和訳本出ないかな

293:よこしまなMr.0
06/08/12 23:32:19 SdZVSzGd
ずらし補正機能を追加したjFont Maker 2.2.0をリリースしました。
URLリンク(gamemaker.main.jp)

294:名前は開発中のものです。
06/08/27 23:58:55 QjVczOj7
age

295:名前は開発中のものです。
06/09/27 14:06:01 LH7ViQeL
保守しとく

296:名前は開発中のものです。
06/09/27 20:10:07 vehM9Gbl
保守乙

297:名前は開発中のものです。
06/09/29 23:07:30 4sshqHDy
次のバージョンは7.0になるみたいだね。10月末にβ出す予定とのこと。
拡張パッケージ(今のDLLの仕組みを進化させたものっぽい)が今回の目玉か。

298:名前は開発中のものです。
06/10/04 19:34:25 VR+YDMNk
今週の日曜日あたりからはじめたけど、
だんだんコツが飲み込めてきた…気がする。
いや、おもしろいなぁこれ。まったくの素人な自分で
この板にきたのも日曜あたりからなんだけど
それなりにゲームっぽく形ができてくると楽しい。

まだまだ基本的なこともわからんけど
非公式サイトやサンプルゲームのイベント内容確認したりして
もうちょっとランクアップしたい。




299:名前は開発中のものです。
06/10/09 15:46:39 hpHxwreD
URLリンク(gamdev.org)
アクションゲーム作ってみたyo
Z,Xで攻撃。カーソルキーで移動とジャンプ
壺を全部集めればステージクリア


300:名前は開発中のものです。
06/10/10 00:48:45 v0lPsc3U
むぅ…もしかしたらすごいつまんない事かもしれないですが。
とりあえず単純な動作だけでも出来るように動かしてみようと
試みてみたのですが。
生成で重力を設定して、コリジョンで床のオブジェクトに反射させてると
徐々に反射が大きくなっていって、最終的にすごい勢いでピョンピョン
飛び跳ねてしまう…。
せめて同じ高さでピョンピョンさせられないのでしょうか?
重力のRelativeにチェックいれるとdirectionを270にセットしてあるのに
左後方にすっとんでいくのも謎なのです。

出来れば重力のある中でジャンプして、着地と同時にピタっと止まってほしいのですが。
コリジョンで床のオブジェ接触で速度0になるように設定すると、床を歩く事が出来なくなり・・。

それで跳ねながらでも移動できればいいかと、前述のように床に反射させてみてたのですが。
しばらくほっといたらキャラが天井と床のオブジェをすごい勢いで往復してたんで
なんとかそれを回避したいのです。
なにか手がないかと、いろいろ試してたんですが。どうにもよくわからず・・。







301:名前は開発中のものです。
06/10/10 23:37:22 xA3KYXnh
>>299
投稿乙。 ほのぼのした雰囲気がイイ!

>>300
レスしようとちまちま文章にしてたんだが、サンプルを5.3Aで作ってうpってみた。
URLリンク(gamdev.org)
Game Information でそれぞれの疑問に答えてみたつもりなんで、読んでみて。文才無いけど...orz

/*
チラシの裏
内部処理(GameMaker的な癖)について曖昧のままにやっていくと、 >>300 にあるような壁にぶち当たる人は多いと思う。
ヘルプを熟読し、試行錯誤しながら理解していくと、いずれ解決できることなのだが・・・。
プログラム未経験な人でも理解できるようなドキュメントにまとめられたらいいのだけど・・・。
*/

302:名前は開発中のものです。
06/10/11 13:30:49 jFFQ4JQb
>>300
そういう前向きな姿勢でやってれば良いゲームが作れると思う。

プラットフォームものなら、ひとまず
URLリンク(www.gamemaker.nl)
Tutorial: Platform Games (zip file, 1.6 MB)
が参考になると思う。
solidオブジェクトについて知っておくといいと思うよ。

303:300
06/10/12 07:16:45 RaSOVi3Q
>>301>>302
レスありがとうございます。
いえいえわかりやすくて助かりました。

>>302
レスありがとうございます。
英語はしょうしょう苦手なのですが、
なんとか読み込んでみたいと思います。


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



304:名前は開発中のものです。
06/10/27 12:44:17 TdF2ByKO
ho

305:名前は開発中のものです。
06/10/29 16:51:46 wmAHTxrU
接触判定その他の練習のために、
素材を適当に集めて作ってみた。
URLリンク(gamdev.org)

ひょっとしたら綺麗に衝突判定ができないで悩んでる人の
参考になるかもしれないのでアップ。

306:名前は開発中のものです。
06/11/01 02:18:47 zw8Gds4q
>>305
たまーに、壁に引っかかったりするのだがどうしてだろう?
スクリプト見てもどこが間違ってるかわからないよ…。

307:305
06/11/02 19:31:20 AFNzuMaj
確かにたまーに引っかかる。
原因は現在調査中……

308:名前は開発中のものです。
06/11/07 00:37:41 B1V1c0H3
305ではないが、調べてみた。原因がわかった気がする・・・。
solid オブジェクトとの衝突イベンでは、衝突判定→ENDステップ との間で speed に値があると移動してしまう性質があるので、うまくいっていない。

>>305 のサンプルで説明。
斜めに並んでいる白いブロックの接続付近に向かって、下から左上にジャンプするとまれに引っかかる。
まず、右上のブロック(ID:100177)にぶつかる。
solid オブジェクトの衝突の性質により、100177との衝突イベントのあとに、3ドット(hspeedの大きさ)だけ左にずれる。
ここで、衝突したポイントが、左の壁 (ID:100176) まで3ドット以内の位置にいると、めり込んでしまう。
これは、左の壁のID番号が100177より若いので、そのステップ中での衝突判定がすでに終わってしまってるため。
(もし左の壁がのID番号が100177より大きいなら、同ステップで衝突判定が発生するので、このタイミングでの「めり込み」は発生しない)

ヘルプを読み返してみたが、これは仕様らしい。
個人的に、衝突直前まで戻すのは良いが、衝突のあとに移動してしまう仕様は余計なお世話感があるなぁ。
>>305のサンプルを修正するには、この仕様を頭に入れてコードを書き直さないといけないかも。

知らない人がいるかもしれないから、solid オブジェクトの衝突イベントについてのまとめを改めて。
【衝突発生】
 ↓
(衝突したインスタンスは、xprevious yprevious まで戻される)
 ↓
【衝突イベントで設定した処理】
 ↓
(hspeed vspeed gravity 等が設定されていたら、移動する)
 ↓
【End Stepイベントへ】
※()内は自動で処理される。 solid 属性でないもの同士の衝突イベントならば、処理されない。

わかりづらかったらゴメン。

309:305
06/11/08 23:34:02 3AkviUgR
308を読んで原因が理解できたので、いろいろと修正中……

310:名前は開発中のものです。
06/11/11 21:20:49 /XxSsTqq
7.0ベータは、12月上旬だそうです・・・
URLリンク(forums.gamemaker.nl)

>There has been some delay in the beta of 7.0. Please be a bit more patient. It is now planned at the beginning of December.
>
>Mark

311:305
06/11/12 14:29:04 5m8X/aYf
問題の部分は原因がわかれば簡単に修正できた。
他にもいくつかバグを修正して、自機の衝突判定に関してはほぼ完璧になったと思うが、
今度は新しく追加した敵キャラの衝突判定がおかしい。
まだまだ修正中……

312:305
06/11/19 10:30:59 xsNjHa5e
なかなか修正する時間が取れない。とりあえず衝突判定後の移動で
めりこんでしまう問題については、以下の方法で解決できる(それと、
305のサンプルではplace_freeを使うべきところでplace_emptyを
使っていたので、これも修正した。)

・Collisionイベントの最後に以下を追加

//この時点でのx座標とy座標を保存しておく
xendofcollision = x;
yendofcollision = y;
//このステップで衝突処理が行われたことをEnd Stepイベントに伝えるため、変数に保存
collisiondetection = 1

・End Stepイベントに以下を追加

/衝突判定後に自機の位置が動いてしまうとめりこみの原因になることがある
//もしめりこんでいた場合はここで位置を修正する
if collisiondetection == 1
{
if !place_free(x,y)
{
if x != xendofcollision {x = xendofcollision}
if y != xendofcollision {y = yendofcollision}
}
collisiondetection = 0
}

313:名前は開発中のものです。
06/11/19 19:23:31 4aSaboiB
これが後のアクションゲーム界の野口英世、305氏の誕生した瞬間であった。

314:305
06/11/20 01:07:49 Yv733+da
追記。
305のサンプルではブロックの角にぶつかったときに引っかかることがあるので、
それを回避するためにこんな感じのコードも追加する必要があった。

//上下左右ともにソリッドオブジェクトがない場合
//位置を1ドット下に下げて対処する
if place_free(x-1,y) && place_free(x+1,y) && place_free(x,y-1) && place_free(x,y+1)
{
y = y+1
}

315:名前は開発中のものです。
06/11/22 23:47:27 AqauRrpm
age

316:sage
06/12/03 16:48:14 XbMBK5U7
つくりました。

URLリンク(gamdev.org)

317:名前は開発中のものです。
06/12/11 00:56:17 2YqPVj+F
おまいら、7.0betaが出ましたよ。
URLリンク(www.gamemaker.nl)


318:名前は開発中のものです。
06/12/11 01:26:44 rVHL5eUM
6.0未レジストだと使えんのか?

319:名前は開発中のものです。
06/12/14 18:11:41 3ze7c5Y/
GMにファイアワークス並みのドット絵アニメ作成機能つけてくれんかな…

320:名前は開発中のものです。
06/12/15 00:15:35 g70yBL8e
/^o^\フッジサーワ
URLリンク(x25.peps.jp)

321:名前は開発中のものです。
06/12/15 19:54:34 srVsEadR
トランジション最中にゲームの動作が止まってしまうのが気になってたんだが
その辺仕様変更されてたらいいなあ。
しかしローカライズ対応の話はどうなったのか


322:名前は開発中のものです。
06/12/24 15:12:53 bQ2c8Tdg
流れが止まってるなあ
来年の3月くらいに時間ができたらやってみたいので、それまでこのスレも維持して欲しい

323:名前は開発中のものです。
06/12/25 04:07:44 FxLQNiq4
ライトが当たってる部分だけ明るくする
炎の揺らめきに対応して、明暗がゆらぐ
みたいなことってできます?


324:名前は開発中のものです。
07/01/12 10:20:39 cJrH5j+P
それはペイントソフトのお仕事では

325:名前は開発中のものです。
07/01/12 23:25:08 vx0dk6p9
それをスクリプトでやるから楽しいんじゃないか

326:名前は開発中のものです。
07/01/13 23:42:46 zhxk+3Mu
>>324
>>325
スクリプトでできるんですか?
ちょっと調べてみます。

327:名前は開発中のものです。
07/01/22 18:53:32 EB7waUUP
結構前からGMやってたんだけど
ちっとしたミスでパソコン壊れてしまい、最近新しいのを購入
んで、またやったんだだけど↓の人が作ったファイルが欲しいんだけど誰かうpしてくれない?
>>203 :名前は開発中のものです。:2006/03/27(月) 13:28:28 ID:Ft51kzDw
メインメニューも日本語化パッチ。
URLリンク(www.uploda.org)

ここのサイトにはもう無いんだよね・・・・orz

328:名前は開発中のものです。
07/02/09 13:15:57 xPE4FRpU
久々にGN開いて、昔作ったのゲーム起動させたら、
オブジェクト全てに、碁盤の目状にドットのノイズが入っててまいった。

作成画面ではなんとも無いんだが、なんでだろ。

329:名前は開発中のものです。
07/02/09 13:16:41 xPE4FRpU
↑ 誤植あったスマソ GN → GM

330:名前は開発中のものです。
07/03/01 23:52:49 iybAqXqe
なんか7.0でてるっぽいのに落とせない

331:名前は開発中のものです。
07/03/02 00:18:40 JQOq8rLF
gamemaker の版権が yoyogames(イギリスの会社) に移ったのか、Mark氏と提携したのか分からんが、
URLリンク(www.yoyogames.com) のページから落とせる。
落とせるのはLite版で、今までのフリー版と同じような制限があるが、基本的なことはできる。
レジストするとPro版となり、制限がなくなる。
Pro版にするには、yoyogamesにアカウント登録した後にレジストしなければならないかも。(無料 メアド必須)


332:よこしま
07/03/03 02:47:45 iuprHR9E
GM7.0の記事を掲載しておきました。
URLリンク(gamemaker.main.jp)

333:名前は開発中のものです。
07/03/19 17:26:46 w6fEQ5hD
GM7落とせないじゃん・・・orz

334:名前は開発中のものです。
07/03/19 18:36:11 E6kumfZN
URLリンク(amagame.blog12.fc2.com)
アマゲニュースの記事によると、IEだと落とせないことがあるらしい。
記事に書いてあるように IE以外のブラウザでアクセスするとか、
DLツール(Irvine等)で落としてみるとか。
俺は普通にIEで落とせたが…。

335:名前は開発中のものです。
07/03/25 04:04:56 iOL2FYog
GM7になった変更点とか追加点の一覧ってあるかな?
探したけど見当たらない。

336:名前は開発中のものです。
07/03/25 22:44:43 77zIjAoT
7.0のヘルプだけ落とせるから(docかPDFになったやつ)
そこのWhat is New読んでみるのはどうかな。
訳してみようと思ったけどけっこう分量あってマンドクセ

337:名前は開発中のものです。
07/03/26 07:40:10 dN/9PbMi
情報サンクス。
公式の方で落とせるのね。ダウンロードできるほうだと思ってた。

読んでみたところ、ルーム関係とスクリプトエディタに改良入ってるっぽいかな?
だいぶ変更箇所が多くて、たしかに訳すの大変だ・・・。
マルチバイト対応は書いてないな。もう英語圏だけで通す気なんだろうか。

GM6でつくりかけのゲームがあるのでインポートして、色々弄ってみるかな。
GMはマルチバイト対応と、エディタが改良されれば、あんまり文句ないんだがなあ。

338:名前は開発中のものです。
07/03/31 15:42:57 XDDgdQbO
ちょっと質問失礼します
ゲームをexeファイルに変えるとき、アイコンをオプションで変えれるじゃん?
でもアイコンファイルなんてどうやって作ればいいんでしょうか
32×32の16色ってのはわかってるんだけどファイルの保存形式がGIFとかだと選べないし

339:名前は開発中のものです。
07/03/31 16:15:17 XDDgdQbO
事故解決しました
でも32×32でicoファイルを作っても拒否されてしまいます><

340:名前は開発中のものです。
07/04/01 04:13:44 kj+KzHd4
ちゃんとICOの作れるエディタで作った?
GIFとかPNGで作って拡張子だけ変えただけとかじゃない?

341:339
07/04/01 10:33:34 qXJBkzh+
>340
レスありがとうございます!
MSペイントでBMPで作って拡張子変更しただけでした・・・
ビットの深さが24のやつではダメなんでしょうか
ICOの作れるエディタっていうとフリーウェアでいいのないでしょうか
とりあえずググってみます。お騒がせして吸いません

342:339
07/04/01 10:49:32 qXJBkzh+
解決しました
@icon変換っていうフリーウェア使ったらアッサリできました
マジでお騒がせしました。助言ありがとうございます

343:名前は開発中のものです。
07/04/02 22:37:55 dsa0udjW
ライフを表示させるにはどうしたらいいんだろう…

344:名前は開発中のものです。
07/04/04 01:14:23 UsQJSuDV
>>343
GameMakerには標準でlivesという変数が組み込まれていてゲーム開始時
に初期値投入し、プレーヤーキャラがやられた時に-1する・・・
まぁ普通こうだと思う。
んで表示は表示用オブジェクトを別途作成し、drawイベントに
数字で表示する場合は「Draw the number of lives」アクションを
スプライトで表示する場合は「Draw the lives as image」アクションを登録する。
パラメータx,yはルームの表示座標を。
「Draw the number of lives」の場合はこのアクションより先に
「Set the font」「Set the color」アクションを登録しておいて好みの
フォント、色を指定しておく
(表示座標は「Set the font」のalignパラメーターを考慮して決めてね)
「Draw the lives as image」の場合はそれ用のスプライトを
事前に登録しておいてimage:パラメータで選ぶ。
とほかにもやり方あると思うけど、とりあえずこれでどう?

345:名前は開発中のものです。
07/04/05 02:32:40 dw1Iw1rR
>>344
助かりました、有難う御座います!

346:名前は開発中のものです。
07/04/06 02:25:30 NKcqTsok
2D横スクロールアクションを作っています。
敵の上に乗っても大丈夫で、下から触れると倒せる設定にしようと
踏ん張っているのですがなかなか成功しません。
「下から触れると倒せる」までは成功するのですが、
「上に乗っても大丈夫」という設定が出来ません。
上から触れても倒せてしまいます。
どうしたらいいのでしょうか!

347:名前は開発中のものです。
07/04/07 01:13:30 3wiqVeJY
>>346
上半分のキャラクタと下半分のキャラクタに分解して
二つで一つのキャラクタにすればいいのでは?

348:名前は開発中のものです。
07/04/08 01:12:39 KSHnjb9y
>>347
その発想はなかった…!!
ありがとうございます、その案の通りにやって、色々工夫したら
なんとかなりましたw

349:名前は開発中のものです。
07/04/10 04:30:19 twXWExLO
マリオがキノコを取るとスーパーマリオになる感じを意識して、
2キャラ作りChange the instanceで変える方法を取ってみたのですが
Viewが認識してくれません。
(マリオがスーパーマリオになると、マリオの時のViewだけが残って
 スーパーマリオのViewは認識されない感じ)

色々なサンプルを見て試行錯誤してるけどどうも上手く行きません。
うーむ、、、

350:名前は開発中のものです。
07/04/10 10:39:56 /nbw5AIi
Viewの認識をRoomのところだけで設定しているなら、次の方法が有効かと。
マリオからスーパーマリオにチェンジするときに、
code execute アクションで、次のようなコードを記述してみる。

    view_object[0] = スーパーマリオのオブジェクト名もしくはインスタンスID

逆にスーパーマリオからマリオに戻ってしまうときにも、
view_object[0] の値をマリオに戻しておこう。


351:名前は開発中のものです。
07/04/10 12:26:59 rYQU3bdo
GameMakerJapanのページが開かないんだけど、おいらだけ?

352:名前は開発中のものです。
07/04/10 15:07:52 twXWExLO
>>350
おー、できました。有難う御座います。
GMLとか全然わからなくて…

>>351
俺漏れも

353:名前は開発中のものです。
07/04/11 17:27:54 uDjOT380
いまからこれやり始めようと思ってるけど
tonyuとどっちが簡単?

354:名前は開発中のものです。
07/04/11 23:27:11 XaHk6A2z
>>351
みえた

355:名前は開発中のものです。
07/04/12 00:54:45 QrBMbbB1
>>352>>354
見れるようになってますね。お騒がせしました
>>352
GML最初のうちは短いコードで慣れていくのもいいし
書かなくともヘルプファイル見るだけでも結構動きの
構想とかしやすくなると思うのでヘルプは目を通して
おいたほうがいいよ
Game Maker 言語 (GML)のゲーム動作~リソースの
項目は読んでおいたほうが得です。ボリュームもそんなに多くないし


356:名前は開発中のものです。
07/04/12 22:27:46 Sbn3uWuO
>353
両方触ったことあるけど、
tonyuの方が使いにくかったかな。
変数の設定とかがややこしかった、

あとtonyuはけっこう重いので、凝ったゲーム作り出すとキツイ。
まぁGameMakerも50歩、100歩だけど。

英語で拒否反応でないならGameMaker、
でるならtonyuで良いんじゃないかな。

357:名前は開発中のものです。
07/04/12 23:18:34 mKQY5DpX
ライフ表示させても-1になっちゃうんだけど、
ライフポイントの設定ってどこでやるんだ?

358:名前は開発中のものです。
07/04/13 03:41:08 NNey5tvn
>>357
>>343がらみ?だとすると
livesは変数だからゲームループ用オブジェの生成イベントなどに
「Set the value of a variable」アクションで代入するか
一番最初のルームの「Creation code」ボタン押して
lives=10;
とか書いてみたら?

359:名前は開発中のものです。
07/04/14 21:57:31 jjaaUazu
>>358
うーん、前者はうまくいかないし後者は死んだりしても
ライフポイントが10のままになるなぁ。

とりあえず変な方法で自己解決しますた

360:名前は開発中のものです。
07/04/29 00:32:56 HfNWiMIn
アクションゲームでよくある、
敵にぶつかったら少しの間無敵ってのをやろうとしてるんだけど、
何故かその状態になったら地面にめりこんでいってしまう・・・
何故なんでしょうか?

361:名前は開発中のものです。
07/04/29 00:35:42 HaLkae7w
地面との当たり判定が消えてるからだと思うよ

362:名前は開発中のものです。
07/04/30 15:28:50 A4GmDhZw
スプライトを透明にした瞬間に、当たり判定がなくなってしまっているからかと思われる。
Maskを別に設定(オブジェクトのダイアログで設定できる)しておけば、
スプライトを透明にしても当たり判定がなくなることはない。

363:名前は開発中のものです。
07/04/30 17:44:34 lkMf0FqM
6と7ってどう違うの?使うスクリプト同じ?

364:名前は開発中のものです。
07/05/01 01:19:29 jv2UXUrh
>>363
5→6の時と違ってほぼ完全上位互換。6で作ったゲームもそのまんま動く。
その分見た目的には大きな進化はなくて、ダイアログ関係とか印刷とか
地味なところが強化されているってのが今のところの印象だな。

365:名前は開発中のものです。
07/05/03 04:06:18 RLRXPrc7
>>349ですが、前のステージでのキャラクターの状態によって、
次のステージでマリオ・スーパーマリオどちらかの状態で
始まるようにするにはどうしたらいいでしょうか?

同じステージを2つ作って、(最初の立ち位置が)マリオ用・スーパーマリオ用
に分けるとか考えてみたのですが、その分重くなりそうで…。

366:名前は開発中のものです。
07/05/03 12:37:46 fBZoJtsj
つ [オブジェクトのpersistentにチェック]

これをすれば、ルーム間でインスタンスが保持されるようになるよ。
そういうオブジェクトを1つ作っておくと、ルーム間での値のやり取りができるから便利。

367:名前は開発中のものです。
07/05/03 12:49:48 fBZoJtsj
あ、値のやり取りだけなら、別にグローバル変数でもいいのか。失礼。

368:名前は開発中のものです。
07/05/14 16:47:04 wDJv4xoP
GM6ってもう今はDLできない?

369:名前は開発中のものです。
07/05/14 22:52:19 6E+INFL2
URLリンク(www.gamemaker.nl)

370:名前は開発中のものです。
07/06/13 20:10:00 obp421sd
ツクールに不満を感じた俺
とりあえず今からDLだぜ

371:名前は開発中のものです。
07/07/12 07:50:07 qy2/B/jA
今月始めぐらいからチュートリアルにらみながらゲーム作ってる
が、Game Maker Japanの表示が妙に重くて、ページを切り替えるたびにやきもきしてる
現在8時前だけど状態は変わらず・・・うーむ。


372:名前は開発中のものです。
07/07/13 00:29:18 OaGbqBn6
気合で乗り切る

373:名前は開発中のものです。
07/07/18 06:22:52 UXcd6qfL
ロックマンを見習いつつ横スクロールアクションを作ってみてるんだけど
画面左上に常にライフゲージを表示しようとしてるものの、キャラが
横に移動して画面がスクロールするとゲージが置いてけぼりになってしまう
どうにかうまいこと常に画面左上に表示ってできないかな?

374:名前は開発中のものです。
07/07/19 01:44:05 tSFqaNoK
>>373
座標をビュー相対で指定してやればいい
x1: view_xview[0] + 10
y1: view_yview[0] + 20
x2: view_xview[0] + 110
y2: view_yview[0] + 30
ってな感じで。

375:名前は開発中のものです。
07/07/19 09:09:31 nvp/X0pz
>>374
返答有難う!ちゃんとスレ見てくれてる人がいたのがまず嬉しい。
で、教えてもらった方法で記述してテストしてみたら、エラーがでてしまった
翻訳ページで翻訳してみたら、変数を定義していない?みたいな感じだった
おそらくview関連の変数を指定する場合準備が必要なのかもしれない・・・
が俺は変数関連の知識に乏しいので断念した。

他の方法を探してみたら、wikiの作品まとめのページにあった
「ふぁんたじぃさんミニステージ」で俺のやりたかったことをやってくれてたので
拝借して構成を覗いてみた。そうしたらルームのビューを二つ指定するという
至極簡単な方法で解決していたので驚いた。今それを真似て成功したところ。

>>374のアドバイスを参考に出来なかったのは非常に申し訳ないが
今後もしばしば悩みどころが出てくると思うので、自力で解決できなかった時は
またアドバイスをお願いしたい。
ちなみにGMのバージョンは5.3Aでやってる。(これも最初に言わなかったのは申し訳ない)

376:名前は開発中のものです。
07/07/19 20:07:07 xOA1USa+
作成途中でもうpするとこのスレも盛り上がるよ
ソース公開したくなければ実効ファイルにしてうp

377:名前は開発中のものです。
07/07/19 23:32:25 tSFqaNoK
>>375
GM5だったらこうだな。
view_xview → view_left
view_yview → view_top
view_wview → view_width
view_hview → view_height
5と6以降ではけっこう違いがあるので
気をつけた方がいいかもね。

378:名前は開発中のものです。
07/07/22 10:28:04 WAhC1ZLe
GM7って、必要スペックが6よりも高いみたいだ。
最低ビデオメモリも32MB必要だし。
軽さを重視するなら5.3Aにするべきかな……。

379:名前は開発中のものです。
07/08/14 00:03:24 9wyA8dRN
最近GM5でロッ○マンを作っている者です。
ジョイパッド使用のゲームを作りたいのですが、ジョイスティックで
Key release みたいなイベントの使い方って出来ないのでしょうか。
良かったら教えて下さい。

380:名前は開発中のものです。
07/08/14 00:26:20 12cRFs0g
最近ゲーム作りを始めたのですが
中間地点を通った後以降の死亡判定後は中間地点から
始まるようにするにはどうすれば良いのでしょうか?
分かる方是非教えて下さい。

381:sage
07/08/16 13:34:33 lv13P6Ug
>>379
>>160>>161に同様の質問、返答があるのでそちらを
参考に組んでみてはいかがかと・・

382:381
07/08/16 13:47:27 lv13P6Ug
あう あげちまった・・・逝ってくる

383:名前は開発中のものです。
07/08/16 14:43:31 lv13P6Ug
>>380
その場復活じゃなくて、戻り復活ってやつですよね?
作りこみの仕方でやり方変わると思う。例えばシューティングの様な強制スクロールだと時間軸メインで
考えやすいのでタイムラインを使用する選択が思いつくし、
ロッ○マンのような任意スクロールだと時間軸じゃなくてルームの位置で判断させるんだと思うからスプライトを
非表示にしたオブジェクトをルームに配置し、自キャラと衝突判定させるやり方をするとか・・
自キャラのふるまいの仕様とかも関係してる場合もあるし、なんとも言えないんだけど
自分は前者のタイムラインを使った戻り復活やったことあるので一応書いてみます。
参考にならないかもですが・・・


384:名前は開発中のものです。
07/08/16 15:30:09 lv13P6Ug
>>383のつづき
当方gm6.2
1,自キャラオブジェクト(ここではmycharaとしておきます)に復活ポイントを保存する変数(ここでは例としてres_flとしておきます)を登録してやって初期値0を代入する
 (roomのCreationCodeに mychara.res_fl=0と入力)
2,死亡判定処理の一番最後に「Restart the current room」アクションを置く
3,敵の出現するパターンを登録したタイムラインに復活ポイントの時間に相当するステップへres_flに1とか2とか任意の値を再代入する。
4,3のタイムラインの一番最初のステップへswitch文を使ってres_flにて分岐判断させ、timeline_positionを使って復活ポイントへ飛ばしてやる。




385:名前は開発中のものです。
07/08/16 15:47:41 lv13P6Ug
>>383のつづき2
4000,8000ステップに復活ポイントがある場合以下の様になる
switch(mychara.res_fl)
{
case 0:
break;
case 1:
self.timeline_position = 4000;
break;
case 2:
self.timeline_position = 8000;
break;
}
こんな感じで、初めてこのルームにきたときはres_flは0なのでcase 0:を通りbreakするのでタイムラインは今のステップのまま続行される。
4000ステップを超えた後に死亡判定が立てばカレントルームがリスタートするが4000ステップでres_flに1が代入されているのでcase 1:を通り
4000ステップまで一気にジャンプする8000ステップも同じ・・・と自分の場合こんな風にやってみました。参考になるかな^^?

386:名前は開発中のものです。
07/08/16 17:02:09 lv13P6Ug
>>383の補足
上の例は自キャラであるmychara死亡判定時、自キャラに対しdestroy the instance(インスタンス破棄)はせず
やられた用のスプライトを差し替えをしてライフを1つ減らしています。ですのでres_flは初期値にリセットされません。
またif文を用いて
ライフの数が0以上なら「Restart the current room」、
0未満になれば「Restart the game」する様、分岐させています。

387:名前は開発中のものです。
07/08/21 03:17:21 Y9/E+LWQ
>>381
返答ありがとうございました。もちろん読ませて頂いたんですけど
これだと十字キーではできないかんじですよね?スライディングが
したくて…><

388:名前は開発中のものです。
07/08/22 22:29:28 zLT3+18j
>>387
>>161のGMJリンク先はジョイスティックのボタンだったんだ。すまそ、
>>161のリンク先の書いてる内容が理解できてらっしゃるのなら
ボタンの状態を調べるjoystick_chech_button()関数代わりに
十字キーの状態を調べる関数joystick_xpos()またはjoystick_ypos()を使えばいいかと・・・
スライディングだからjoystick_xpos()だと思う。
この関数、十字キーで右に入力すると”1”を、左に入力すると”-1”を、横方向の入力がない場合は”0”を出力します。
それから>>182>>185>>187の書き込みにあるようにゲームパッドによっては中立位置”0”を厳密に返さないもの(0.0021とかになる)があるという
不具合もわかっているのでround()関数を使ってjoystick_xpos()関数を丸めてから使うといいです。
しかし老婆心ながらリリースするごっとにスライディングするのはどうかと・・・まぁそこらへんは考えてるとはおもうけどね・・・

389:388
07/08/22 22:42:15 zLT3+18j
× joystick_chech_button()関数代わりに
○ joystick_check_button()関数の代わりに
joystick_ypos()は別にいらんかったか・・・
誤字脱字多くてすみません

390:388
07/08/23 00:12:24 bkzzA+nn
>>387
過去に同じような内容の書き込みがあったなとあまりよく読んでなくて正直すまなかったです。
とりあえず自分が思うところは>>388のとおりです

391:387
07/08/23 04:22:24 KyDjC5ZC
>>390
ありがとうございました。正直こんなに親切に回答していただけるとは思っていなかったので…。
心から感謝します!さぁ、これでがんばるぞ!

392:名前は開発中のものです。
07/08/23 18:15:25 ARupBfNU
あまりプログラムについて関係ない話になって恐縮ですが・・・

wikiなどから他の方々の作品を参考にさせていただいているのですが、
皆さん画面サイズ小さめで作られているように見受けられました
自分は現在640x480のサイズでアクションゲームを作成しているのですが、
これだと環境次第で処理が重くなったりするのでしょうか・・・?

393:名前は開発中のものです。
07/09/08 18:44:33 4uM7iYSL
あうあうあうぁー・・・・
なんでジョイパッドにはpress/releaseが用意されてないんだろう・・
GMLで出来るのも知ってるし、やってるけど、
press/releaseイベントを用意しない理由が良くわからない。

394:名前は開発中のものです。
07/09/08 19:07:46 85eGhnYf
>>392
亀レスだけど現時代のロースペックPCならば
そのサイズでいいんじゃないかな

395:名前は開発中のものです。
07/09/09 12:49:53 UoCGhB6S
↑や→でその方向にキャラクターを動かせるのですが
斜めに動かしたいとき↑→同時押しに設定するのは可能ですか?

396:名前は開発中のものです。
07/09/09 22:16:05 /p7HxcHm
>>395
「可能ですか?」と聞かれたら答えは「可能です」だけど、
「具体的にどうすればいいの?」ってのならその2行じゃ答えにくいです。
「現状の段階でどのイベントでどのアクションを使って動かしてる」とか
「GMLは使えるよ~」などの追加情報がほしいところ・・
でなければ作成途中ファイルをゲムデヴにうpするなりしてちょ・・・・
とかいいつつGMLが使えるなら、前スレ>>758に移動距離補正のGMLを
載せたサンプルファイルがあるから参考にしてみればいいと思うよ
(過去ログURLは>>50にあり)

397:名前は開発中のものです。
07/09/09 22:31:05 hOxeF4wt
移動のみに着目するなら難しいことを考えずに
「↑入力で上に移動」「→入力で右に移動」と設定すれば
同時に入力すると斜めに動くと思う

398:396
07/09/09 23:25:01 /p7HxcHm
>>397
自分も最初そういうふうに思ったんだけど
>>↑や→でその方向にキャラクターを動かせる
とあったのでPressイベントで書いてないのかも・・とか思ったんだ。
長ったらしかったかな?

399:名前は開発中のものです。
07/09/11 19:05:04 Gh8tZ+fJ
ver5とか6とか7とかみんな言ってるけど、
どれだけ違うのこれ、初心者は5?
英語読めれば初めてでもそれ以降で可?

400:名前は開発中のものです。
07/09/11 22:21:20 jdaCXeMV
まあ、レジストして使うつもりなら基本的には新しい方がいい

5を使うメリットとしては
・動作条件がゆるい→多くの人に遊んでもらえる(可能性がある)
・日本語化できる
・日本語をそのまま描画できる

一方、6以降だと最大の魅力はスプライトの回転ができること。
他にも半透明機能がふんだんに使える、組み込みのエフェクトなど
グラフィック面が大幅に強化されている。
ただし追加機能のほとんどはレジストが必要。
ちなみに6と7は、普通にゲーム作る分にはほとんど差はないかな

このへん天秤にかけて選ぶといいと思うのだが
5って今レジストできたっけ?

401:名前は開発中のものです。
07/09/12 00:29:19 fg25ornc
6を購入したときは、YOU!こいつは5も使えるKEYだぜHAHAHAって書いてあった。

402:399
07/09/12 01:51:07 r4gQgCh/
>>400
情報ありがとう。
それなら「とりあえず」将来性?もありそうな7を使うことにします。
ぐるぐる回るのは絶対使う気がしますしね。

>>401
よっぽど6の動作に自信がなかったんでしょうか。

初めてですが適当に作ってみました。
適当って言うか、投げやりです。ニコ動に上げてみた。
URLリンク(www.nicovideo.jp)

遊べるレベルでは、無い。

403:名前は開発中のものです。
07/09/12 02:27:03 wCm8h5Qq
>>402
是非とも本家を超える難易度で完成させてくれ。

404:名前は開発中のものです。
07/09/12 10:07:21 qUDFwcmG
Ver6は変数が6、7桁までの数値しか扱えないってのもネックじゃないかな。
日本語描画なんて絶対に必要だろうし、VRAMが32MBともなると、
動かないPCがかなり出てくるんじゃないかと。

405:名前は開発中のものです。
07/09/13 07:32:54 QTqHCpBm
強制横スクロールってのはどうやればいいんですかね
キャラが画面からはみ出ないように

406:名前は開発中のものです。
07/09/14 23:09:41 yqNW6zY+
>>405
オブジェクトにビューを追従させるかわりに自分で動かす。
たとえばキャラクタのStepイベントにこんな風に書いておく。

view_xview[0] += 2;

キャラクタがはみ出さないようにするのはこんな感じで。
(スプライトのサイズとか計算に入れて調整した方が
いいかもしれないけど)

x = min(max(x, view_xview[0]), view_xview[0] + view_wview[0]);
y = min(max(y, view_yview[0]), view_yview[0] + view_hview[0]);

GM5の場合は変数名が違うので、>377を参考に書き換えてくれ。

407:名前は開発中のものです。
07/09/16 02:26:50 Jr4lZJq+
出来ました。ありがとうございます

それとマップの最後のほうでボス等が現れたとき
画面のスクロールを止めたいのですがそれはどうすればいいのでしょうか。

408:名前は開発中のものです。
07/09/16 22:57:11 KiAjhsb3
予めボスのところに見えないオブジェクトを置いて、
それが画面内に入ったらビューのスクロールを止めるようにすればよいかと。

409:名前は開発中のものです。
07/09/17 02:33:49 w06cRgAN
ちょっと関係ない質問ですまないです
>>402氏の様な録画はどういった方法がお勧めですか?
できれば音付きで

410:名前は開発中のものです。
07/09/17 08:21:42 lhifefbO
ゲームの録画はfrapsを使うな。
無料のソフトもあるけど、それだとコマ落ちしてしまう。

411:名前は開発中のものです。
07/09/17 09:15:55 xMFEKfRa
使うなよと言っているのか俺はこれを使っているよと言っているのか

412:名前は開発中のものです。
07/09/17 09:20:05 fcLNcExh
WMEで十分

413:名前は開発中のものです。
07/09/17 10:23:54 JW6xQlOz
GameMakerって32x32のスプライトをだいたい何個くらいまで出しても処理落ちしませんか?

414:名前は開発中のものです。
07/09/18 19:52:17 3LUcBFIL
URLリンク(gamemaker.main.jp)

これの部屋を広げて、ボールを敷き詰めてみたけど処理落ちしなかった。
でも、人によって環境違うから、自分で試してみた方がいいよ。

415:名前は開発中のものです。
07/09/18 22:44:37 cbpWAXQe
グラディウスのようにスピードを何段階かあげるようにしたいのですがどうすればいいのでしょう。
普段はキーを押したときjump to given positionでその方向に5程度動かしているのですが

特定のキーを押したら速度が1.5倍になって、もう一度押したら初期状態の2倍になって…という感じで

416:名前は開発中のものです。
07/09/18 23:33:40 N5uJH6ZI
変数を使えば良いと思うよ
jump to given position のところを 速度を表す変数 "spd" (名前は適当でよい) とかにして、
Key Press イベントで Set the value of a variable アクション( 四角でVARと書いてあるアイコン)を加えて、
variable のところに spd 、 value のところに spd+5 とかすると、押されるたびに速度が +5 されていくようになる

417:名前は開発中のものです。
07/09/19 00:24:58 K3MABk9U
>>415こんなのでどう?詳細はヘルプorマニュアル参照の事
①まず変数
 ・現状のスピードを覚えとく変数(説明のため仮にNow_speedとする)
 ・今が何段階なのかを覚えとく変数(仮にspeed_selectとする)
を用意する。これはCreateイベントにて[Set the value of variable]で初期値を代入すればおk
②[jump to given position]のx:y:の"5"といれているとこを"Now_speed"に書き換える
③keyPressイベントで[If a variable has a value]でspeed_selectの値をチェックし[Set the value of variable]で
Now_speedの値をその時の段階数speed_selectに応じたスピード値に書き換えてやるとともにspeed_selectも
[Set the value of variable]で次の段階数へ更新してやる。
(2つの[Set the value of variable]は[Start of a block]と[End of a block]ではさむ事をお忘れなく)

これでキーを押すごとにスピードが変化する
段数を多くすると必然的に③の[If a variable has a value]と[If a variable has a value]の数が多くなっていくから
GML使えるならswitch文を使う方がスマート


418:417
07/09/19 00:30:17 K3MABk9U
うは 先答者いたw

419:名前は開発中のものです。
07/09/19 07:42:02 PrEtAf1p
>>416-417
ありがとうございます
変数は一応使っていたのですが速度を変数にするのは気づきませんでした

420:名前は開発中のものです。
07/09/20 21:56:13 4DzNB1VD
横から視点のゲーム作ろうとしてるんだが乗れる床が作れない
ジャンプしたら着地したときに少し滑るって動きをさせてるんだが普通の横移動で突っかかったようになる
バージョンは7GMLなんて聞いたことない過去ログは読んでない
アドバイスくれ

421:名前は開発中のものです。
07/09/20 22:31:17 5F1p/CW6
度々すみません
強制スクロールにすると画面下のアイコンや上に表示したスコアがついてこず画面外に取り残されてしまいます
現在のビューにアイコンやスコア等を固定するにはどうしたらよいのでしょうか

422:名前は開発中のものです。
07/09/21 00:11:25 FZFc4C4q
>>420
引っかかる現象は落下処理に問題がある場合が多い気がする。
コリジョン(めり込み)状態だと横に移動するときに引っかかるよ。いったん床にコリジョンしたら、
『めり込してないが、接している状態にする』処理と、
『床に接している状態では落下しない』処理を
きちんと為されているか、見直してみて。
条件やタイミングによっては抜けてしまっているとか、結構アリガチ(俺だけかなorz)

>>421
スコアの表示位置をビューの相対座標にしてみて。横スクならviewのx座標、縦スクならviewのy座標斜めならどちらとも)

423:422
07/09/21 00:12:19 FZFc4C4q
すまん、途中で送信してしまった、
>>422
ビューのx座標、y座標を スコアの表示位置に加えてみて。

424:名前は開発中のものです。
07/09/21 07:17:49 Md866hct
レジストしていないgamemakerで作ったゲームは
配布しても、大丈夫なんでしたっけ?

425:名前は開発中のものです。
07/09/21 07:51:14 7psMFQgC
>>423
ビューの相対位置にするにはどこを設定すればいいのでしょうか。
それと画面下に能力アイコンを表示しておきたいのですがそちらも流れる画面に固定するのは可能でしょうか

426:422
07/09/21 11:07:48 Zb+pDnU8
>>424
無料配布、販売もOKだよ。
でも販売はもちろん無料配布にせよ、画像とか音の素材は自力で用意するか、素材の作者が使用許可しているものでないと駄目っす。

>>425
直接相対にさせる設定は無いよ。大げさに言えば、そういうロジックを自力で組むということ。
アイコン表示もアイコン表示も同じやり方で対処可能だよ。
カンタンなのは、ステップごとに強制スクロールさせている移動量を x座標、 y座標 に加えていくようにする方法かもね。

でも、加えていくやり方がイマイチ面倒なら、
(理由のひとつに、中ボスとかで途中で強制スクロールを停止させる場合、その都度加えるのを止めなければならない。個人的に面倒。)
x = 画面に表示したい座標 + view_xview[0]
y = 画面に表示したい座標 + view_yview[0]
とかステップイベントで書いておくと、常にview画面に対してフィットする。

基本的にGameMakerは ルームの座標で処理しているので、
[ルーム座標系による座標] = [画面の左上を0,0としたときの座標]+(横ならview_xview[0] 縦ならview_yview[0])
という式が成立するはず。よくわからんかったら、色々やってみて理解を深めてください。
長い説明ですまんです。

427:名前は開発中のものです。
07/09/22 00:59:29 GELRMyyp
てっきり、レジストしてないと配布してはいけないと
思い込んでいました。

428:名前は開発中のものです。
07/09/22 10:45:04 PfhgUac3
自キャラの真上に分身のようなものを出して自キャラと同じ動きをさせるにはどうしたらいいでしょうか。

429:名前は開発中のものです。
07/09/22 12:48:31 597IuagT
>>428
分身となるオブジェクトのSTEPイベントにJump to position アクションで以下のように設定してみては。 

(自キャラのオブジェクト名をmyshipとします)
・x に myship.x とする。(myship と x とのあいだにピリオド( . ) を忘れずに!)
・y に myship.y - [自キャラオブジェクトの高さ幅]

xの値や、yのマイナス幅とかだけど、これはキャラの原点(origin)や画像のサイズに依存するんで
自分なりにアレンジして設定してみて。

430:名前は開発中のものです。
07/09/23 14:06:15 DKctpgDf
>>406のやり方だと画面上と左にははみ出ないのですが下にはみ出てしまいます。
これはどうすればいいのでしょう。


431:名前は開発中のものです。
07/09/23 16:53:43 x9nNhXjf
現在STGを作っており、自機を追尾するミサイルのような敵を
作りたいのですが、やり方がわかりません
どうすればいいのでしょう、ちなみにGMLはわかりません

432:名前は開発中のものです。
07/09/23 17:07:20 aQRdOqe9
>>430
キャラ画像のはみ出方に注意しないといけないよ。スプライトのOriginによってはみ出方が違うけれど。
Originは初期設定だと、スプライトの左上角の位置で座標管理されているから、
強制スクロールで右や下にはみ出ることになるよ。

たとえば、スプライトのOrigin(原点)が左上角で、縦幅48 横幅32 の場合、
>>406の式を以下のように変えればいけると思う。

x = min(max(x, view_xview[0]), view_xview[0] + view_wview[0] - 32);
y = min(max(y, view_yview[0]), view_yview[0] + view_hview[0] - 48);

>>431
Move towards point アクション(矢印と点があるアイコン)をステップイベントに追加して、

(自機オブジェクト名をmyshipとした例。>>429同様 myship と x との間にピリオドを忘れずに)
x = myship.x
y = myship.y
speed 適当な数値

としてみては。動きに不満があるかもしれないけどね・・・。

433:名前は開発中のものです。
07/09/23 18:06:04 x9nNhXjf
>>432
成功しました、ご指導ありがとうございました

434:名前は開発中のものです。
07/09/24 14:43:07 rIfQxbjS
ウィンドウキャプションに文字を打つと後ろにスコアが表示されてしまいます。
スコアを表示させない方法はありますか?

435:名前は開発中のものです。
07/09/24 19:00:34 wo/XJGT8
スコアキャプション アクション (ウィンドウっぽいアイコンでSLHと書かれているやつ)
で、show score の部分を don't show に変更しよう。

同様のことをコード(GML)で記述するならば、
score_caption = false;
でOK。

いづれも、最初のイベントのほうでやれば良いと思うよ。

436:435
07/09/24 22:06:25 Avl9+fei
>>435での訂正。
GMLでの記述が間違っています。正しくは

show_score = false;

でした。また、score_caption という変数名は無く正しくは caption_score です。
caption_score は、キャプション部分で点数の直前に表示する文字列(デフォルトで Score:) を設定する変数のようです。
混乱させてごめんなさい。

437:名前は開発中のものです。
07/09/25 14:18:30 juBklLfh
ボスキャラなどにひたすら上下に往復する動きをつけたいのですが何を設定すればいいのでしょう
パスの使い方はいまひとつわかりません。

438:名前は開発中のものです。
07/09/25 23:10:07 wgthl9NZ
>>437
アラームイベント+アラームアクションを使ってみましょう。

-----
手順1
   ボスオブジェクトのクリエイトイベントに、VARアクションを追加、
   valiable に updown という文字列(変数名)を、value に 1 を設定する。
手順2
   さらに、Set Alarm アクションを追加。number of steps に 1、Alarm no に Alarm0 を選択しておく。
手順3
   ボスオブジェクトに イベント Alarm0 を追加する。
手順4
   ボスのAlarm0 イベントで、Move fixed アクション(赤く八方に矢印が出てるアイコン)を追加。
   下を選択、speedには [適当な数値]*updown と設定する。
手順5
   続けて、VARアクションで variable に updown、value に -updown と設定する。
手順6
   さらに続けて、Set Alarm アクションを追加。number of steps に 60ぐらいを設定。
   Alarm no に Alarm0 を選択しておく。
-----

以上で、一定間隔で定速で上下運動するようになると思います。間隔を調節したければ、手順6 で設定した数値をいじってみてください。
単純な動きならこのようにアラームでも対処できますが、複雑な動きにしたければタイムラインやパスを扱う必要があるかと思います。

439:名前は開発中のものです。
07/09/28 22:00:48 +Qz3cTwT
>>422
遅くなってスマンがサクンス
Precise collision checkingってとこのチェックを外したら解決した
根本的解決にはなってないかもしれんが何とかなったww

もひとつ聞きたいんだが、gamemakerを使う上であればいいスキルってなにがある?

440:名前は開発中のものです。
07/09/29 01:28:10 OUsPaiyV
>>439
もしかしたら、キャラアニメのフレーム間で地面と接する位置が一致してなかったのかもね。
Precise collision checking がオンだと、キャラのドット絵自体が当たり判定になるから…。
チェックを外すと ドット絵に依らず Bounding Box が当たり判定となります。

GameMakerを使う上でのスキル、とは漠然とした質問(汗
まぁドット絵と音楽がある程度自作できると、楽しいかもね。(俺は満足に出来ん…orz)
GameMakerで色々したければ、GMLはやったほうが良いよ。ソースの見通しもよくなるし。
一番良い練習は、自分で作ってみたゲームのアクションをなるべくGMLで置き換えてみる作業かな。
また、Wikiにあがってるもの以外にも海外のサンプルとか漁って、
ソースを読むことが出来ればなおよいかと。(若干の英語力が必要)

441:名前は開発中のものです。
07/09/29 14:45:12 4bes+mi5
坂、というか斜面へのコリジョンやりたいんだけど
GameMakerってそういうの簡単に出来る?
これって基本はタイルベースでのマップ管理だよね?線分のリストとか逆に面倒そうだし

しょぼいサンプルじゃなくて、滑らかに坂を登ってそのまま平地を進む
みたいなの作れるレベルの人はいますか??

442:名前は開発中のものです。
07/09/29 19:23:42 9lJHmvQD
>>440
ドット絵とか音楽か・・・ちょっと本屋でいろいろ探してみますね
GMLも頑張ってみるw
英語力は辞書で補うwwwwwww

443:名前は開発中のものです。
07/09/29 20:01:59 F32aXzae
背景のちょっとした部分を動かしたりしたいのですが背景画像はアニメーションにはできないのですか?


444:名前は開発中のものです。
07/09/30 01:17:15 OYPKWvpr
>>441
こんな感じでいいかい?かなり粗い作りだけど。(バージョン 7.0)
URLリンク(gamdev.org)
スペースキーでボールが動くよ。
Precise collision checking に頼ったやり方だけどね。GMならではのやり方ともいえるんじゃないかなぁ。
ただ、Precise ... なコリジョンだと、実質タイルベースから開放される反面、融通の利かない場面もでてくるし、処理も重くなると予想されるね。
参考になれば。

>>443
背景画像は基本的にアニメーション出来ないよ。動かしたい部分にオブジェクトを配置するのが簡単な解決方法です。
スプライトによるアニメがどうしてもいやなら、動かしたい部分をタイルチップであらわして、
タイル管理オブジェクトを用意するなりして、そこから命令を出してタイルチップを定期的に変更して、アニメーションを表現する方法もあるにはあるけど、
結構手間がかかりそうな割りに、前者の方法に比べてメリットがあまり見出せません…。

445:444
07/09/30 08:23:59 J186ada5
度々ごめん。上で挙げたサンプルで、多少ギザついていた問題を修正した。
URLリンク(gamdev.org)




446:名前は開発中のものです。
07/10/01 02:57:41 uYTipwhK
>>444-445
おおー ありがとうございます
早速参考にさせてもらいます

これって本家や日本フォーラムでも話題にならないんですかね?
みんな矩形のカクカクしたマップで妥協してるのかな

447:名前は開発中のものです。
07/10/01 10:39:32 /4FfCvcD
てか最新版の日本語訳キボン

448:名前は開発中のものです。
07/10/01 13:21:12 m2qQgTFJ
ここにおられる人はゲーム作るのに数学は出来た方が有利だと思いますか?
僕は数学が苦手で2次方程式がようやく解けるくらいです。

449:名前は開発中のものです。
07/10/01 15:33:00 aKVg/NXF
>>448
出来なければ無理、というほどではないと思うけどある程度
数学の基礎知識はあったほうが有利だと思う。コマンドの幅が広がるはず。
あとはこのスレでよく言われてるGML、興味があれば勉強してみるといいかも。

勿論単純な作りのミニゲームとかをつくるならそういったことは気にせずに
直感的に組んでいっていいとおもうよ。それがGameMakerの長所でもあるしね。

450:名前は開発中のものです。
07/10/01 21:53:37 CZos6bFb
GameMakerってネット対戦できるものとか作れる?

451:名前は開発中のものです。
07/10/03 00:54:58 EFi7sI/b
バックグラウンドを途中で差し替えることは可能ですか?

452:名前は開発中のものです。
07/10/05 01:56:10 4xeppq1Q
>>450
できると思われ。公式のチュートリアルに、チャットとPongゲームのサンプルがあります。
ソースのみなので、実行するには GameMaker 7.0 Pro が必要になるけど…。
ダウンロード先 :
URLリンク(www.yoyogames.com)

>>451
背景画像は、background_index[0..7] という変数で設定されています。
ちなみに、0..7 は 0~7 までのいずれかの数値がはいる、ということ。(配列)
また、背景は 0~7番の8段階のレイヤで管理されているんで、最大8枚の背景を重ね合わせることができます。
たとえば、background1 という背景画像がリソースに登録されているとして、
背景レイヤ0番の画像をこれに変更したいときは、適当なイベント中に VARアクションを追加し、
 variable に background_index[0]
 value に background1
とすれば変更が可能です。

453:名前は開発中のものです。
07/10/05 03:26:55 wSCRnqHh
というかライセンスやらが絡んで日本語化が難しいんなら
メニューやらを日本語訳したテキストを製作者に渡せばいいんじゃねーの?

454:名前は開発中のものです。
07/10/05 17:34:54 g6B1FYU5
>>452
ありがとな

455:名前は開発中のものです。
07/10/05 21:13:00 hQr7IoXo
GM7でmbText 1.4.0とjFont Maker 2.2.0を使って日本語表示しようとするとエラーでるんですけどできないんですか?

456:名前は開発中のものです。
07/10/05 23:14:26 2NkJ/cbT
>>455
エラーの情報を詳しく書いてほしいです…。
どんなタイミングでどんなエラーがでたのか書かないと、何もわからんです。
あなたのPCでエラーが起きた現場を見た人はネット上にはいない。
少なくとも私の環境では GM7 Lite でも表示できましたが…。

457:名前は開発中のものです。
07/10/05 23:26:39 2NkJ/cbT
あー、わかった。多分。
mbtext_setfont() を呼んでないのではないでしょうか。
文字表示をする前に mbtext_setfont() 関数を呼んで、設定しないといけないです。
(リソースにスプライト用意しただけでは、実行時にどのスプライトがフォントとして使用するのか、また、どんなサイズなのかわからないから)

どっかのオブジェクトのクリエイトイベントかなんかで、Execute Code アクションを加えて、
mbtext_setfont( [全角のスプライト名] , [半角のスプライト名] , 「フォントメーカーで設定したサイズ(数値)」) ;
の1行を、加えてみてください。
これが違うなら、わからんです。。。

458:名前は開発中のものです。
07/10/05 23:28:05 PKPevRDs
タイピングゲームって作れますか?
>>1のサイトをざっと見てみたんですが、
キー情報の取得に関する関数がない気がするんですが。

459:名前は開発中のものです。
07/10/05 23:29:16 qYq6QO0A
できないものだとおもって書きませんでした。すいません。
実行してロードが完了すると
Unexpected error occured when running the game.
とでてきて、あとは
Access violation at addres..........
などというエラーがたくさんでてきて終了します
オブジェクトのコードはこんなんです
{
mbtext_setfont(spr_zen, spr_han, 20);
mbtext_draw("描画するテキスト", 0, 0);
}
なにがだめでしょうか?

460:名前は開発中のものです。
07/10/05 23:48:54 2NkJ/cbT
>>458
ヘルプの GML>>User Interfection >> the Keyboard 辺りを読んでみましょう。
変数 keyboard_lastkey で最後に押されたキーのキーコードがわかります。(そのとき押されてなくても)
一方、
変数 keyboard_key で、今現在押されているキーのキーコードが得られます。
キーコードは数値でなくても、Aキーなら VK_A とかで定義されてます。特殊なキーはヘルプに出てます。

また、特定のキーが押されているかどうか調べる関数も用意されてます。
keyboard_check(key) : key が押されていたら true を返します。
類似関数に keyboard_check_pressed(key) や keyboard_check_released(key) があります。

>>459
うーん、そのエラーは結構深刻そうです。PCの環境あたりから疑わないといけないかもしれません。
ほかのサンプルゲームが普通に動くのなら、VRAMやPCメモリの容量が足りない可能性もありますね。
ためしに、全角スプライトのところを preload texture のチェックをはずしたり、
それでもだめなら、記号とひらがなだけ残して消して、ひらがなだけ表示させてみて、実験してみてください。
それで動けば、メモリ関係が原因かと思われます。

461:名前は開発中のものです。
07/10/05 23:52:58 2NkJ/cbT
訂正 : User Interfection でなくて、 User Interaction です…
誤字が多くてすまんです

462:名前は開発中のものです。
07/10/06 00:01:45 mQ8ag/BB
あ、すいません
最初から読み直してやってみたらできました
すいませんでした

463:名前は開発中のものです。
07/10/06 00:19:17 YdfEd/7r
>>460
ヘルプまでは読んでいませんでした。
あるんですね。どうもありがとうございました。

464:名前は開発中のものです。
07/10/08 16:04:54 4SbO/Zc7
画像をdraw_sprite_stretchedなどで拡大表示したときに、
当たり判定も一緒に拡大する方法はありますか・・?

当たり判定用の矩形オブジェクトを用意して、
オブジェクトを生成するときに大きさを引数で指定できるようにしたのですが、
肝心の当たり判定の大きさが拡大する前と変わらないままなのです。

128x64の判定を作りたいのに、32x32の判定しか作ることができない、といった状況です。
当たり判定の左上・右下座標を変数などで指定することはできるのでしょうか。

465:名前は開発中のものです。
07/10/08 16:48:44 4SbO/Zc7
すいません、書き込んですぐですが、自己解決しました。
もっと悩んでから書き込むべきだった…(´A`;)

if( collision_rectangle(x,y,x+wide,y+height,charatest,false,true) > 0 ){

sound_play(snd_Hit);

( collision_rectangle(x,y,x+wide,y+height,charatest,false,true) ).HP -= Damage;
( collision_rectangle(x,y,x+wide,y+height,charatest,false,true) ).alarm[0] = Time;
( collision_rectangle(x,y,x+wide,y+height,charatest,false,true) ).speed = movePower;
( collision_rectangle(x,y,x+wide,y+height,charatest,false,true) ).direction = moveDirection;

draw_hitStar(x + (sprite_width/2),y+ (sprite_height/2),30);

if(kind == 0){
( collision_rectangle(x,y,x+wide,y+height,charatest,false,true) ).image_index = 2;
}else if(kind == 1){
( collision_rectangle(x,y,x+wide,y+height,charatest,false,true) ).image_index = 3;
}else if(kind == 2){
( collision_rectangle(x,y,x+wide,y+height,charatest,false,true) ).image_index = 4;
}else if(kind == 3){
( collision_rectangle(x,y,x+wide,y+height,charatest,false,true) ).image_index = 5;
}

instance_destroy()
}

466:名前は開発中のものです。
07/10/08 17:34:48 qKmaq3uh
>>464-465
解決したからよいかもしれないけど、考えてみたんで一応参考程度にしてみて。結構荒業?かもしれないけど。
縦横 1px のスプライトを用意(透過は無し)して、当たり判定用のオブジェクトを用意する。マスクで指定したほうがよいと思う。
んで、instance_create などで実行した後、縦横幅を与え、スプライトを拡大してしまおう。

例:
<パンチしたときなど>
atari_id = instance_create(xx-横幅/2,yy-縦幅/2,当たり判定用のオブジェクト)
atari_id.image_xscale = 横幅
atari_id.image_yscale = 縦幅

こうすると、(xx,yy)座標を中心に任意の縦幅、横幅のあたり判定用オブジェクトが出現するようになる。
サンプルできた。(7.0)
URLリンク(gamdev.org)
F1 キーで簡単な説明でます。


467:名前は開発中のものです。
07/10/08 18:13:57 4SbO/Zc7
あれー・・?
解決するまではその方法を試してたんですが、
当たり判定が広がらず困ってました。
6.1だったからかな・・・?それともこっちの勘違い?
なんにせよ、ありがとうございました。

468:名前は開発中のものです。
07/10/08 18:30:38 qKmaq3uh
ごめん。7.0 のヘルプ に以下の一文が。
> Solved a bug in collision checking with scaled instances.
> 訳 : 拡大縮小されたインスタンスのコリジョン判定にあったバグを解決した

6.1以前だと、拡大されないみたいだね。こちらも 6.1 5.3A にて、動作しないことを確認しました。すみませぬ。。。

469:名前は開発中のものです。
07/10/08 18:56:22 NYq6HAI6
いえ、こちらこそバージョンを明記してなかったので申し訳ないです。
というかバグだったのか・・・。

470:名前は開発中のものです。
07/10/08 21:13:04 xMzu6E+i
厳密にいうと、スプライトを拡大した場合に当たり判定が
幅×image_xscale になるべきところが (幅-1)×image_xscale
になるバグがある。元のスプライトが大きければ目立たないが、
小さいスプライトだと顕著に。特に元が1ピクセルだと……

471:名前は開発中のものです。
07/10/10 07:59:27 xHCyvWv9
場面切り替えの際などに画面をだんだん暗くしていく方法はありますか?

472:名前は開発中のものです。
07/10/10 08:05:16 uuly2Ro8
>>471
画面のフェードアウト機能がないみたいな話があったはず
詳しくはこのスレのログを見ていって欲しいけど、代用としては
ディザ処理で透明から徐々に黒くなっていくアニメーションスプライトをつくって
それを表示、全体黒くなったところで画面切り替えってのがある

473:名前は開発中のものです。
07/10/10 18:44:46 clWDHbW4
劣化ウイイレのようなゲームを作ろうと思っていて、HSPかgamemakerで悩んでいるんですが、
gamemakerは、コートを固定しているカメラで見るように表示できるんでしょうか?
コートが常に四角く見えるんじゃなく、端っこのほうを見るときは台形のように見えるってことです
分かりにくくてすいません

474:473
07/10/10 20:49:07 clWDHbW4
考えてみたら2D作成用だし無理ですよね、
自己解決です、ありがとうございました

475:名前は開発中のものです。
07/10/10 21:23:33 4H4UcSWi
>>471
バージョンによるけど、GM7だと最初からRoom transitionに
フェードアウト・フェードインというのが用意されているよ。
GM6だと黒い四角を画面全体に半透明で描画するやり方がある。
まとめWiki↓にあるMs.PADDLERあたりを参考に。
URLリンク(gamdev.org)
GM5、あるいは未レジストなら>472かな。

>>473
レジストすれば3D機能も使えるんだけど、まあ3D向きでないのは確かだw

476:名前は開発中のものです。
07/10/11 00:10:35 bfULkcnK
GMLの文法ってC#に似てるみたいですが、
実際に使ってる人から見て似てると思いますか?

477:名前は開発中のものです。
07/10/11 02:26:20 MiBouJ8+
オブジェクトのプロパティとかアクセスするのは似てるかもしれない。
ただ、オブジェクトに任意の関数を持たせて
[object].[関数名](引数...)
というようなことはできない。(そもそもそういう文法がない)
※ ユーザーイベントとか駆使すれば似たようなことは出来なくはないと思うが、煩雑だし機能的にも制限が厳しい。
なもんで、完全なオブジェクト指向っぽい設計は難しいと思われ。

誤解を恐れずに言うと、個人的にGMLは、
構造体無し、変数のポインタや参照受け渡しの出来ないC言語っていう印象。
ただ、文字列操作はCよりかはマシかな。

478:名前は開発中のものです。
07/10/11 07:28:19 lfKlsL3a
いままでGM5で作っていたデータをGM7で起動して製作する場合消えたり変更されたりするデータはありますか?

479:名前は開発中のものです。
07/10/11 23:29:34 j9EjwRAb
>>478
スプライトとかオブジェクトとかは一応ちゃんと残るよ。

ただ、一部のアクションは「古いアクション」とか
「不明なアクション」てやつに置き換えられてしまって
中身が見えなくなる。7で編集を続けるつもりなら、
元のgmdをとっておいて見比べながら直さないと辛いかも。

いずれにせよ、5から6で色々削られたり変更になったり
してるから、それなりに書き直さないと動かないと思う。

480:名前は開発中のものです。
07/10/16 08:31:52 KDtruK3Z
これランゲージファイル対応してないの?

481:名前は開発中のものです。
07/10/17 13:07:25 NOHDADh4
「ボスの目の前一直線上に主人公が来たときボスが攻撃する」や「主人公がボスの上に移動したときボスが攻撃する」
など範囲を指定してそこにキャラクターが来た時行動を起こさせることはできますか?

482:名前は開発中のものです。
07/10/18 11:13:19 zjjlkNBl
>>481
どちらもボスキャラとプレーヤーキャラのインスタンス原点比較で出来る
「ボスの目の前一直線に主人公がきた時」は「ボスの横座標(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座標を各々比較してやればいいと思います。

483:482
07/10/18 11:16:42 zjjlkNBl
細かく誤字がある・・・まぁわかるかと・・・

484:482
07/10/18 11:43:05 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)
自分こういうのおおいな・・・・ごめんなさい

485:482
07/10/18 12:01:37 zjjlkNBl
今日ズタボロだす
横の場合はx座標ではなくy座標でした・・・・・
本当にごめんなさい

486:名前は開発中のものです。
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以下から入力したとき成功した気がします。


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