Appendix

広告

Entries

スクリプト小ネタ

毎日数時間はゲーム作って順調に進んでるはずなのに
未だにチュートリアル的なエリアすら完成してません。

やはりイベントで作ってるだけあって制作に時間かかります。

おそらく今まで作ったところをプレイしても30分くらいでクリアできてしまうでしょう。
初見でも1時間といったところか・・・

なので上げられる情報もないです。

気長に作るしかありませんね。



ゲーム制作中に思いついたスクリプト小ネタです。

以前紹介した[移動ルートの設定]のスクリプトにて、
this._x = 10
といった感じで変数に直接座標入れると移動を簡略化できますよ、といった小ネタの応用です。


これを使って小数点以下の数値を変数に入れると、1マス以下の移動をさせることができます。

160702a.jpg

こんな感じに0.5を足して0.5を引くと、半歩前に進んで戻るといった動きをします。

移動速度を上げているので、この場合は目の前のキャラをどつくといった表現になります。

160702b.jpg

さらにはこのように、非常に小さい値を足したり引いたりを繰り返すことで
キャラクターを小刻みに震えさせたりもできます。

これを使えば、イベントシーンでの表現の幅が広がることでしょう。

ゲーム制作に時間かかること間違いなし!


ただし、この小ネタを使う際に注意点があります。

それは小数点以下で移動させた後は、this._xやthis._yといった変数に整数を入れてください

160702c.jpg
こんな感じに。

もしくは[場所移動][イベントの位置設定]なんかを使ってもよいです。

なぜ整数を入れる必要があるのかというと、2進数を知っている方ならわかると思いますが
機械が扱う小数点以下の数値というのは正確な値ではありません。

0.1を足して0.1を引いたら±0になるとは限りません。
(たぶん大丈夫ですけど、万が一だめだと後の動作がおかしくなります)

なのでイベントが終了するまでに、変数には整数を入れるということを忘れないでください。

...続きを読む

スクリプト小ネタとATBの中途報告

最近スクリプトばかりいじっていたので、
RPGツクールMVプレビューのコミュニティの方を数日見ていなかったわけですが・・・。

先日見てみたら、以前私が書いた『移動ルート設定の簡略化』をMVではどうやるのか
という質問があってびっくりしました。

こちらの日記です。
http://woodpenguin.blog.fc2.com/blog-entry-98.html

私が気付いた時には既に他の方が回答してくださっていたのですが、
一応またここでも紹介しておこうと思います。

...続きを読む

ピクチャの座標入力を簡略化

小ネタが思いついたので書き込み。

ゲーム中に操作説明とかする際、わかりやすいようにピクチャの表示とか使って画像も表示したりします。

「箱庭の勇者たち」で、まさにその作業してたわけですが。

ただ、ピクチャの表示を使っただけでは、パッと表示されてパッと消えるだけです。

それじゃ味気ないのでピクチャの移動を使ってフェードインフェードアウトをさせるのですが、
これが一々座標を入力しないといけないのでめんどくさい。

しかもテストプレイをしてみて、表示位置が気に入らないときの修正はさらにめんどくさい。

ピクチャの標示から移動まで、全てで座標を入力しなおさないといけないから。


・・・たぶん、同じ思いをしたことのある人ならわかると思います。


何とかならないかと思ったのなら、何とかすればいいじゃないかと気づいたのがつい最近。
(なぜ、いままでやらなかったのか・・・)

で、作ってみたのが以下のスクリプト

class Game_Picture
    #--------------------------------------------------------------------------
    # ○ ピクチャの移動
    #--------------------------------------------------------------------------
    alias _wdtk_simppic_move move
    def move(origin, x, y, zx, zy, o, t, d)
        x = @target_x if x == -1
        y = @target_y if y == -1
        _wdtk_simppic_move(origin, x, y, zx, zy, o, t, d)
    end
end


移動先の座標である X または Y が -1 のとき、前回の移動座標を使うという感じです。

-1 なんて使うこと無いですよね?
もし使う方は別の数値にしてください。

X と Y はそれぞれ別で判定されているので、
X 軸は前回の座標使って Y 軸だけ移動させるってことも可能です。

ピクチャの移動を良く使う方は、だいぶ作業がはかどるのではないでしょうか?



そういえばメールアドレス変更したってこと、書いてなかった気がします。

とはいっても、→のメールフォームから送ればいいだけのことですが。

ですが、配信したゲームの readme とかに記載されてるアドレスは違うので注意してください。

新しいアドレスは wood_penguin@yahoo.co.jp です。




以下、コメントお返事です。


> ななしさん
プレイしていただきありがとうございます。
実況プレイももちろんOKです!

...続きを読む

数値入力をキャンセル

特に書くネタも無いので、ちょっとした小ネタ。


タイトルのとおり、数値入力でキャンセルを可能にするスクリプトです。

数値入力ってなぜかキャンセルできないようになっています。

ゲーム作るほうとしては関係ないことですが、
プレイするほうとしては特に入力したくないのにキャンセルできないって
ちょっとイラっとするんですよね。

拒否したいのに、わざと失敗しなくちゃいけないってところが。


class Window_NumberInput
  #--------------------------------------------------------------------------
  # ☆ キャンセルボタンが押されたときの処理
  #--------------------------------------------------------------------------
  def process_cancel
    Sound.play_cancel
    $game_variables[$game_message.num_input_variable_id] = -1
    deactivate
    close
  end
end


これでキャンセルできるようになります。

$game_variables[$game_message.num_input_variable_id] = -1
って部分が、キャンセルされたとき変数に数値を入れる処理です。
とりあえず、-1を入れるようにしてみました。

別の数値にしたいときは、ここを変更してください。



以下、お返事です。

...続きを読む

「移動ルートの設定」の簡略化

久しぶりの小ネタです。

イベントなどを作るとき、キャラを移動させるのに「移動ルートの設定」が使われます。

で、その移動ルートを設定しているとき、こんな風になったことは無いでしょうか?
140118a.jpg

移動させる距離が長いと、その分同じ移動コマンドが何度も続いてしまいます。

歩数を数えなければならないし、そのうちキャラの位置関係とかわからなくなってしまいます。


でも実はこれ、スクリプトを使えば簡略化できちゃいます。


例えば、X座標 12 まで移動したい場合

140118c.jpg
と、移動ルートのスクリプトで @x12 を入れれば、
座標軸で移動先を設定することが出来ちゃいます。

そうではなく、左に5歩進みたいって場合は、@x -= 5 と入力すればOK。

140118b.jpg
こんな感じで簡略化可能です。


ただし、気をつける点がいくつかあります。


まずは、これを使うとキャラが移動方向に向きを変えません。
向きを変えてから移動させる必要があります。

それから、衝突判定も行われません。
指定した座標に全てすり抜けて移動します。

あとついでに、マップのループ移動にも対応していません。

まあ、どれも大したものではないです。
思ったとおりに動けばいいんですよ!


ちなみに、これを使って移動先の座標を画面の外に設定すると、
なんと通常では移動させられない画面外に、イベントを移動させることが可能です。

これもちょっと使えるテクニックです。
ぜひ試してみてね!



以下、コメントお返事。

...続きを読む

Appendix

プロフィール

木星ペンギン

Author:木星ペンギン
ほぼツクールのことばかり書いてます。
名前は↑から取りました。
木製ですが木星です。
トカゲは関係ありません。

ゲーム

  • 箱庭の勇者たち(体験版)
  • アクイ ト アイ
  • ぼくらの大革命!
  • 勇者がやらねば俺がやる!
  • 3Turn Battle!
  • 3TurnBattle!2nd 体験版

メールフォーム

wood_penguin@yahoo.co.jp

名前:
メール:
件名:
本文: