忍者ブログ
windowsやブラウザ のゲーム作ったりとか。
この記事は、ツクールフォーラムアドベントカレンダー2021に向けて書いたよ。

「踏むとダメージを受ける罠」
あれです、床からトゲが出たり入ったりするやつ。

上にのってるのにダメージを受けなくてどうしよう?
っていう質問を時々見かけるので
作例を公開しようと思います。

<用意するもの>
スイッチ・・・1つ(並列処理用)
変数6個・・・プレイヤーX座標取得用
       プレイヤーY座標取得用
       リージョンID取得用
       歩数の取得用
       前回の歩数を覚えておく用
       ループ回数カウント用
リージョン・・・1つ
       (マップ変種画面のタイルセット表示枠の
        ABC…RのRがリージョンタイルです。
        リージョンとは、敵の出現エリアを
        設定するのが主な役割ですが
        とても幅広く活用できる便利なタイルなのだ!)

<ざっくりとした制作の流れ>
罠の絵を表示するだけのイベントと、ダメージを制御するイベントを作り
足元のリージョンと罠の絵の状態を判断してダメージを与えます。

<制作の手順>
①罠を置きたい場所をリージョンタイルで塗る。
 何番でもいいのですが、とりあえず、8番にしておきます。

②罠のアニメーションを表示するだけのイベントを作成する。
 アニメーションは、自律移動のカスタムで行います。
 大体こんな内容です。
-----------------
:        :◇左を向く
:        :◇ウェイト:3フレーム
:        :◇スイッチON:0002(ダメージ診断開始)
:        :◇右を向く
:        :◇ウェイト:3フレーム
:        :◇上を向く
:        :◇ウェイト:60フレーム(とげが出た状態で長めに停止)
:        :◇右を向く
:        :◇ウェイト:3フレーム
:        :◇スイッチOFF:0002(ダメージ診断終了)
:        :◇左を向く
:        :◇ウェイト:3フレーム
:        :◇下を向く
:        :◇ウェイト:60フレーム(とげが出てない状態で長めに停止)
-----------------

③上記の罠をコピペして、リージョンタイルの上に配置。

④ダメージ制御用のイベントを作成。邪魔にならなくて忘れ去られない場所に設置。

⑤制御用イベントは、ダメージ診断開始用のスイッチがONになったら
 起動する並列処理です。
 大体こんな内容です。
-----------------
◆変数の操作:#0008 プレイヤーX = プレイヤーのマップX
◆変数の操作:#0009 プレイヤーY = プレイヤーのマップY
 ↓上記で取得した座標のリージョンIDを調べます↓
◆指定位置の情報取得:リージョンID, リージョンID, ({プレイヤーX},{プレイヤーY})
◆条件分岐:リージョンID = 8
 ↓リージョンの上にプレイヤーがいる場合の処理です↓
 ↓自由にダメージを演出してください       ↓
  ◆画面のフラッシュ:(255,0,0,102), 20フレーム
  ◆SEの演奏:Bite (90, 100, 0)
  ◆HPの増減:パーティ全体, - 10 (戦闘不能を許可)
  ◆ウェイト:10フレーム
 ↓上に乗り続けていたらダメージを受けたいけど        ↓
 ↓このままだとダメージが入りすぎるのでウェイト処理を作ります↓
  ◆変数の操作:#0011 カウント = 0(ループ回数を数える)
  ◆変数の操作:#0007 前の歩数 = 歩数(基準となる歩数を取得)
  ◆ループ
    ◆変数の操作:#0011 カウント += 1
    ◆変数の操作:#0001 歩数 = 歩数(現在の歩数を取得)
    ◆条件分岐:歩数 ≠ 前の歩数
   ↓プレイヤーが移動していたら、ループを終了↓
      ◆ラベル:中断
      ◆ループの中断
      ◆
    :分岐終了
    ◆条件分岐:カウント = 6
  ↓60フレーム経過しても、ループを終了↓
      ◆ラベルジャンプ:中断
      ◆
    :分岐終了
  ↓ループ終了のフラグがたってなかったらウエイトを追加↓
    ◆ウェイト:10フレーム
    ◆
  :以上繰り返し
  ◆
:分岐終了
-----------------

以上です。簡単だね!     

トゲ以外でも、例えば「毒の沼地」でも触れている間はダメージを受けたい
っていう時に使えるよ。

やり方は千差万別、他にもいろいろあると思うから考えてみてね!
おしまい!

ちなみに2000の頃は、罠に乗るとダメージを受けた後ノックバックするのが
多かったように思います。
ずーっとノックバックしていって、最終的に罠の外に追い出されます。
そういう昔ながらの罠も良いんじゃないかしらと思ったり。

拍手[0回]

PR
この記事にコメントする
name
title
color
mail
URL
comment
pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
secret (チェックを入れると管理人だけに表示できます)
広告枠
アクセス解析

ATOM  
ATOM 
RSS  
RSS 


ソフトウェア制作講座





Copyright ©   YUWAKA'S SOFT   All Rights Reserved
Design by MMIT / TemplateB3  Powered by NINJA TOOLS
忍者ブログ [PR]