【2D】ゲーム作成ツールGameMaker part2【マンセー】
at GAMEDEV
[前50を表示]
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
A[jump to given position]のx:y:の"5"といれているとこを"Now_speed"に書き換える
BkeyPressイベントで[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]ではさむ事をお忘れなく)
これでキーを押すごとにスピードが変化する
段数を多くすると必然的にBの[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
背景画像は基本的にアニメーション出来ないよ。動かしたい部分にオブジェクトを配置するのが簡単な解決方法です。
スプライトによるアニメがどうしてもいやなら、動かしたい部分をタイルチップであらわして、
タイル管理オブジェクトを用意するなりして、そこから命令を出してタイルチップを定期的に変更して、アニメーションを表現する方法もあるにはあるけど、
結構手間がかかりそうな割りに、前者の方法に比べてメリットがあまり見出せません…。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5330日前に更新/345 KB
担当:undef