2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

【2D】ゲーム作成ツールGameMaker part6【マンセー】

1 :名前は開発中のものです。:2012/11/21(水) 06:51:18.86 ID:SflfScEk.net
無料Windows用2Dゲーム作成ツール"Game Maker"について、色々と語り合うスレッドです。

●本家(英語)
 ttp://www.yoyogames.com/
●GameMaker Japan - 非公式情報サイト(日本語)
 ttp://gamemaker.jpn.org/v1/
●The Game Maker's Apprentice
 ttp://book.gamemaker.nl/
●Game Maker まとめWiki
 ttp://www.wikihouse.com/GameMaker/index.php

前スレ
【2D】ゲーム作成ツールGameMaker part5【マンセー】
http://toro.2ch.net/test/read.cgi/gamedev/1291510669/

491 :名前は開発中のものです。:2014/01/16(木) 13:57:36.65 ID:qVz5nDwi.net
[修正]・めり込まなくなるまでキャラを上に動かす
あとめり込み回避の処理があれば上昇時にキャラを一緒に動かす処理いらないかも。

>>489
入力がなくなった時にreleaseって描いてあるけど
直前のフレームまで、そのキーを入力していた事をどうやって確認してる?

492 :名前は開発中のものです。:2014/01/16(木) 15:23:09.98 ID:Kawrgsu0.net
>>491 こんな感じ。object:gameamsterのステップイベントにて、

switch (joystick_direction(1))
{
case vk_numpad1:
keyboard_key_press(vk_left)
keyboard_key_press(vk_down)
allow1 = 1 break;

  ……以降numpad5以外の8方向に対し同じ処理。
  allow2,allow3……とそれぞれ別の変数を用意し入力を監視。
  そしてswith終了後、

if allow1 = 1 && joystick_direction(1) != vk_numpad1
{keyboard_key_release(vk_down)
keyboard_key_release(vk_left)
allow1 = 0}

493 :名前は開発中のものです。:2014/01/16(木) 15:25:04.24 ID:Kawrgsu0.net
>>492の続き

 これがやはり全方向に対して行われる。
 ちなみに移動するキャラクター側の方向キーに対する移動は、

if movestop = 0
{
if keyboard_check(ord('A'))
{hspeed = -3}
else
{hspeed = -8}
}

 使ってるのはゲームメーカースタジオです。

494 :名前は開発中のものです。:2014/01/16(木) 18:52:01.77 ID:qVz5nDwi.net
>>492
確かにこれだとテンキー1→4という風に方向転換すると
4を押して左方向への入力がある時でも1の←と↓のリリース処理をしてしまって
一瞬止まってガタつくだろうなぁ。(矢印はarrowじゃないかな)

4つの方向キーがリリースされたか調べているわけだから
1つ前のステップの入力状態を入れる変数は4つで良いんじゃないかな。
入力状態を代入する処理を分離して、最後に持ってきた。


switch (joystick_direction(1) ){
 case 1:
  keyboard_key_press(vk_left);
  keyboard_key_press(vk_down);
 break;
}

if(keyboard_check(vk_left) == false && left_previous == true){
 keyboard_key_release(vk_left);
}

if(keyboard_check(vk_left) )left_previous = true;
else left_previous = false;

495 :名前は開発中のものです。:2014/01/17(金) 00:38:12.98 ID:4SJ52hu0.net
>>494 ありがとうございます!
   >矢印はarrow
どーせ見られないと思ってその辺テキトーにやってるのがバレてしまったw
   お察しの通りヘルプを読むのもいっぱいいっぱいです。

ところですいません、この通りやってみましたがやはりうまく行かないようです。
keyboard_key_press以降対象のキーは押しっぱなしの状態になり、keyboard_checkにもtrueの値を返すため、
left_previous以下の直前キー入力の変数は一度十字キーに触れた瞬間からずっとtrue状態になり、
キャラクターは同じ方向に直進し続けます。
(キーボードの矢印キーを押すとrelease判定が生じて直進は止まる)

なにかやり方が間違っているのでしょうか?

496 :名前は開発中のものです。:2014/01/17(金) 04:40:33.04 ID:4SJ52hu0.net
>>489の問題が自己解決しました!

switch (joystick_direction(1) ){
case vk_numpad1:
keyboard_key_press(vk_left);
keyboard_key_press(vk_down);
left = 1 down = 1 break;

if left = 1
{ if joystick_direction(1) != vk_numpad1
&& joystick_direction(1) != vk_numpad4
&& joystick_direction(1) != vk_numpad7
{keyboard_key_release(vk_left)
left = 0}
}

こんな感じで方向キーごとにrelease判定することでスムーズに行きました!
>>494さんありがとうございました!

497 :名前は開発中のものです。:2014/01/17(金) 12:33:09.62 ID:3sNNa1s9.net
>>494はリリースの処理書いてないな
仮想入力を使うとキーボードとパッドの共存が出来ないんだよなぁ
こんなプレイスタイル無いから良いだろうけど
キーかパッドボタンのどちらかを押しっぱなしにしながらもう片方の
対応する同じキーを押すと、片方は押された状態のままなのに
リリースしたことになってしまう。
自分は仮想入力させるんじゃなくて変数に入力状態を入れてる。

498 :名前は開発中のものです。:2014/01/17(金) 21:11:55.76 ID:Nv7H4L68.net
ゲーム公開したいんだけどデコンパイルが怖くて公開できないままでいる・・・
あんまり気にしないほうがいいのかな

499 :名前は開発中のものです。:2014/01/17(金) 21:46:25.33 ID:+N9E597V.net
公開する人増えると嬉しい
しかしstudioに関する情報が日本語だと本当に無いな
外人のチュートリアル動画見てるけど何言ってるのかサッパリw

500 :名前は開発中のものです。:2014/01/17(金) 23:31:03.04 ID:RaMtmKVW.net
Physicsでなにか作ろうと思って
サンプルのAngry Catsの中を色々と見てるんだけどなかなか難しい

オブジェクトをphysics_fixture_createで物理オブジェクトにして
physics_fixture_set_densityとかでパラメーター設定したら
重力に従う動きするようになるけど
オブジェクト同士の衝突判定とかがどうなってるのかさっぱりわからん

総レス数 988
270 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★