初めてゲームを作っているのですが(質問掲示板

投稿: User icon mini 991103 投稿:2011/10/18 18:44:18(最新:2011/10/21 23:05:21)
現在、2DRPGでパズル系のゲームを作っています。
今回主に「ある物を、イベント配置したものが特定の方向を向いている時に限り表示する」方法を質問します。

☆始点
□終点
()舵
  • パイプライン(無色)
+パイプライン(有色)

□---(↑)+++☆
□+++(←)+++☆

☆から-を通して□へと流す事を目的に、途中の()を操作するゲームで
()が向いている時にのみ色を表示させたいのです。

一応素材類
マップチップ
マップチップ画像


for LINE

上から二段目の右端が終点、
色つきの矢印が始点となっています。

キャラクタ画像


(↑)舵

イベント配置のものです。


初めてなので「そもそもそうやって使うものではない」という変なものがあると思いますが、指摘して頂けたら幸いです。

コメントする

コメントするには、ログインする必要があります。

コメント一覧

User icon mini 991103(投稿日:2011/10/21 23:05, 履歴)
不完全ながら公開します。

1つの舵に5個分全部入れて、抜けないように5回繰り返させて、
着色させて、クリア判定して.....
不具合はあまりに多いので気が向いたら直します。(

次回からは雑談スレッドをたてる予定ですので、
とりあえず今回でこの掲示板の進行を終了します。
runrun9様、ご協力ありがとうございました。
User icon mini 991103(投稿日:2011/10/21 17:25, 履歴)
ゴールの解決しました!
キャラを設定し忘れていたというアホなミスでした。
さて、実際にパズルを作るのにあと1つ練習しておく必要があるものが
あるので、これがテスト的には最終章です。
キャラクタ画像


ライン横版

+=
ということで色の合成(分解)です。
もうある程度慣れてきて、色のONとクリア判定は完成しましたが、
色のOFFが未実装。(苦笑
+++(→)+++
これを下向きに変えようとすると左側の+++も消えてしまう...
ということで前回結局使わなかった論理式をここで使うことに。
←向きと→向きをa || bでやればできるかな~と。


殆ど制作状況になっているので次回作からは雑談掲示板にします。(
Nyan mini rurun9(投稿日:2011/10/21 12:24, 履歴)
を。進んでますなー
ゴールだけ色付かないのは、こちらからは何とも言えませんが。

線を繋げるパズルか、なるほど…
ぱっと見でどうするのが最短手数になるのか謎なコースをつくるとなると、そりゃーバグチェックが大変だw
制限はルール次第ですねぇ。手数とは別に時間を計ってタイムアタックしても良いワケで。
繋げた距離も数えておくと何かに使えるカモ
User icon mini 991103(投稿日:2011/10/20 18:52, 履歴)
P.S.第2弾
HPゲージについて
1手につきHP1消費という形にすれば手数制限付きのパズルを作れそうなんですが、手数制限はあった方が楽しめると思いますか?
User icon mini 991103(投稿日:2011/10/20 18:47, 履歴)
P.S.
次回からの形式を若干変更することになりまして、不具合は闇に葬られました。
□に流す⇒扉に流すと扉が開く、先に進んで行きゴールに向かう迷路式。
User icon mini 991103(投稿日:2011/10/20 18:39, 履歴)
テスト完成しました。
LINE
ゲーム[ID:12201]
早速不具合発見(苦笑
ゴールに色がつかないんですよ...
         setEventDirection("L4-1",getUpDirection()) 
         setEventDirection("L4-2",getUpDirection()) 
         setEventDirection("L4-3",getUpDirection()) 
         setEventDirection("fin-1",getUpDirection())

四つ目の舵の一部分です。
L4-1~3は問題無く色がつくもののゴールがつかないんです。
Errorは無し、イベント名確認済み、キャラクタ確認済み、あと何かありますか?

イベント名の
L2-1は2つ目の舵から出て1つ目のライン
L4-3は4つ目の舵から出て3つ目のライン
というような意味合いです。
User icon mini 991103(投稿日:2011/10/20 16:41, 履歴)
ちょっと盛大にいじるので万が一のためバックアップ
イベント03-IN
#まず今の向きをを取得します。 
qwe = getEventDirection("03-IN")
  #今の向きはtrue?false?
  if qwe==getUpDirection()
      setFlag("03-OUT", true)
  
      #ラインが来ていてかつ正しい方向を向いているか?
      if getFlag("01-OUT") && getFlag("02-OUT") && getFlag("03-OUT")
         #trueなら色をつける。
         setEventDirection("L3-1",getUpDirection())
         setEventDirection("L3-2",getUpDirection())
         setEventDirection("L3-3",getUpDirection())
         setEventDirection("L3-4",getUpDirection())
         setEventDirection("L3-5",getUpDirection())
      else                                                      
         setEventDirection("L3-1",getDownDirection()) 
         setEventDirection("L3-2",getDownDirection()) 
         setEventDirection("L3-3",getDownDirection()) 
         setEventDirection("L3-4",getDownDirection()) 
         setEventDirection("L3-5",getDownDirection())
      end
  else
  #流れてきてないよ
   setEventDirection("L3-1",getDownDirection()) 
   setEventDirection("L3-2",getDownDirection()) 
   setEventDirection("L3-3",getDownDirection()) 
   setEventDirection("L3-4",getDownDirection()) 
   setEventDirection("L3-5",getDownDirection())
  end
#一応時間待ちの関数をセットしよう。
waitTime(100)#0.1秒待つ



#a && b > aとbが両方trueならtrue、1つでも違うとfalse
#流れとして 「01-IN」→「02-IN」→「03-IN」→「04-IN」
#             ↑01-OUTと02-OUTの両方がtrueになったらL2に流れる
#                    ↑01-OUTと02-OUTと03-OUTの全てがtrueなら.....
User icon mini 991103(投稿日:2011/10/20 16:01, 履歴)
ありがとうございます!
今一本のラインに4つの()のテスト中です。
1つ目は問題無いものの、2つ目以降がお亡くなりに。
しばらく条件式のとこらへんを読み漁ります。


動作テスト 
    てすてす


Nyan mini rurun9(投稿日:2011/10/20 11:17, 履歴)
たぶん開始スクリプトでも最初のマップ内なら色々弄れると思う。
別マップに移動してからセーブしてロードされると即アウトになる可能性があるけどね

setEventDirevtion(イベント名,方向)
のイベント名とは、
マップにイベントを設置して「編集」にてイベントエディタを開くと画面左上に
 イベントエディタ - event3
みたいな感じで書いてありますよね。この event3 てのが、そのイベントの名前なのです
そして「イベント名設定」ボタンで変更が可能です

event not found =イベントが見つからない、そんな名前のイベント無いんだけど…て怒られてるから、設定ミスかも?大文字小文字全角半角は全て異なる字ですよ~


指定する方向はリファレンスにあるように
 getUpDirection()
で上向きになります。何故getなんだとか、考えたら負けですw

not defined variable =変数が定義されてない、つまり中身の入っていない新しい変数Rightだと思われてますよ
User icon mini 991103(投稿日:2011/10/19 21:55, 履歴)
もう質問が原型留めてませんね(汗
キャラクタの方向を開始スクリプトで設定できますか?
Errorが
line: 2 not defined variable : Right
error : event not found -> 01-IN
line: 3 not defined variable : Down
error : event not found -> 02-IN
line: 4 not defined variable : Up
error : event not found -> 03-IN
line: 5 not defined variable : Down
error : event not found -> 04-IN
 で、開始スクリプトの中身は
#向き設定
setEventDirection("01-IN",Right)
setEventDirection("02-IN",Down)
setEventDirection("03-IN",Up)
setEventDirection("04-IN",Down)
#フラグ設定
setFlag("01-OUT", false)
setFlag("02-OUT", false)
setFlag("03-OUT", true)
setFlag("04-OUT", false)

Error一覧で確認したものの、どうやって設定しましょう?
Nyan mini rurun9(投稿日:2011/10/19 17:59, 履歴)
>ノベルは既に挫折していたり

ははは。
最初からスプライトとか、覚える事多過ぎて
そりゃ作る前に知恵熱出ますわなw

ともかく期待してマース。何なら直メッセージでも相談受けますよん
User icon mini 991103(投稿日:2011/10/19 17:58, 履歴)
完成しました。
http://rmake.jp/games/12192/playのてすてす再です。
もともと「てすと」は文字数が足りず、「てすてす」だったのが
例の失敗によって再になりました。
User icon mini 991103(投稿日:2011/10/19 17:34, 履歴)
進みました。
ある程度形になったらテストとして公開しますのでその時に報告します。
User icon mini 991103(投稿日:2011/10/19 16:47, 履歴)
問題になっているのは最短手数です(気が早いですが...
そしてノベルは既に挫折していたり。

現在の進行状況としては
()の所に#で下書きをしているところです。
今回は開始スクリプトに変数を作り、
trueとfalseで分けてtrueの時に指定したキャラクタを上に向かせる...
という感じですがエラーを量産。
たった今エラーを解消できたとこですが、まだ方向の習得が終わっただけですのでしばらく奮闘します。
Nyan mini rurun9(投稿日:2011/10/19 11:25, 履歴)
プレイヤーキャラはいるんだw
なら「話しかけたら実行」で、矢印はプレイヤーキャラのいる方を向く、という手段もあるけど

>各(↑)に回数のフラグふって、4で割った余りに対応
>クリア時に総和を求めれば手数が出る

コレは問題無いような…


一番大事な、線路を走る列車?を移動させるには
RPGだと自動開始イベントで数ドットずつズらすと思うんだけど
コレは操作にも影響が出るほど重くなる可能性が高いです
画面左上のfps=30なら1秒間に30回、自動イベントが実行されてるワケなので。

もし自動イベントを使わないで軽くするなら、スプライトを使って表示する事になる⇒実は最初からノベル型で全部スプライト表示した方が簡単だった、という未来予想図…
User icon mini 991103(投稿日:2011/10/18 23:11, 履歴)
キャラクタの移動に関してはまだこれといって決まってません。
最初はマップチップ6段目の緑の「」を動かして(↑)に重ねてzだったのですがうまくいかず、いまは(↑)以外のアタリ判定を無しにして、<1.重なったら実行><2.話しかけたら実行>のどちらがいいか検討中です。

あと(↑)は元々最初の移動方式に合わせて考えていたので、
一度に右90度回転のみという操作法で
各(↑)に回数のフラグふって、4で割った余りに対応させる。
クリア時に総和を求めれば手数が出る。
とまで考えていたのですがここも見直さなければ・・・
Nyan mini rurun9(投稿日:2011/10/18 20:38, 履歴)
コッチが質問本体だったか。

えーと「キャラクタ」の表示・非表示だけなら、フラグを有効条件スクリプトに書けばtrue,falseで切り替える事ができます

向きが他の仕掛けと連動する、という事なので
全ての「向き」を、それぞれ変数に入れて管理すると良いかと。
例えば 0=左, 1=上, 2=右, 3=下 と決めておく、とか。
且つ、連動するキャラのスクリプトを「どの変数の値がいくつのとき、こっち向きになる」て感じで仕込みます


あれ、でもコレってRPGでつくると操作とかどーなるんだろね。
マイキャラは普通にマップ内を歩いて大丈夫なの?
User icon mini 退会したユーザー(投稿日:2011/10/18 20:27, 履歴)
やべ、重複スミマセン。
User icon mini 退会したユーザー(投稿日:2011/10/18 20:26, 履歴)
初めてなら、やり易いものから手をつけて、
少しずつ慣れていくのをお勧めしますが(^^ ;)

  • イベント配置したものが特定の方向を向いている時に限り表示する
イベントの向きを取得する関数があるので、
それでなんとかするしかなさそうです。
User icon mini 退会したユーザー(投稿日:2011/10/18 20:26, 履歴)
初めてなら、やり易いものから手をつけて、
少しずつ慣れていくのをお勧めしますが(^^ ;)

  • イベント配置したものが特定の方向を向いている時に限り表示する
イベントの向きを取得する関数があるので、
それでなんとかするしかなさそうです。
User icon mini 991103(投稿日:2011/10/18 19:59, 履歴)
たびたびすいません。
あるイベント設置されたものが特定の方向を向いたときに、別のイベント設置されたものを特定の方向に向けるにはどうしたらいいですか?
User icon mini 991103(投稿日:2011/10/18 19:16, 履歴)
ちょっと思いついた。
キャラクタ画像


□■終点

ラインに流れてるかがtrueの時に上を向くようにすればできそうですが、
やり方がさっぱりです。