一括表示

記事No: 21381
タイトルサブキーを押してオンにした懐中電灯等をもう一度サブキーを押すと消えるやり方
投稿日: 2021/10/04 01:55
投稿者ななし [rpdgF373(海外)]

やりたい事
サブキー(C)を押すと懐中電灯が付き、もう一度押すと懐中電灯を消したい。
やってみた事
懐中電灯の表示はおそらく大丈夫だと思います。オンオフの方のコモンもオンは作れたんですが、オフにする時のコマンドが分かりません。

オンのキー入力の時に変数の他にセルフ変数に1を代入して、1がある状態=懐中電灯が点いている状態になっているのだから条件分岐でセルフ変数が1の時にもう一度キー入力を入れて変数4V暗闇を0にしてやってみたのですがうまくいきません。



変数V4暗闇を作成

コモンイベント
懐中電灯オンオフ 並列実行(常時)

■条件分岐(変数): 【1】 Sys13:イベント実行中?(1=ON) が 0 と同じ
-◇分岐: 【1】 [ Sys13:イベント実行中?(1=ON) が 0 と同じ ]の場合↓
|■キー入力:CSelf10 4方向 サブキー(12)
|■条件分岐(変数): 【1】 Sys13:イベント実行中?(1=ON) が 0 と同じ
|-◇分岐: 【1】 [ Sys13:イベント実行中?(1=ON) が 0 と同じ ]の場合↓
| |■条件分岐(変数): 【1】 CSelf10 が 12 と同じ
| |-◇分岐: 【1】 [ CSelf10 が 12 と同じ ]の場合↓
| | |■変数操作: CSelf11 = 1 + 0
| | |■変数操作: V4[暗闇] = 1 + 0
| | |■次イベントの予約: [このコモンから+1] コモン238:[ 懐中電灯的な奴 ]
| | |■
| |◇分岐終了◇
| |■
|◇分岐終了◇
|■
◇分岐終了◇


懐中電灯表示コモン 並列実行

■変数操作+: CSelf10 = 主人公 の 画面X座標
■変数操作+: CSelf11 = 主人公 の 画面Y座標
■変数操作+: CSelf12 = 主人公 の 向き(1〜9)
■条件分岐(変数): 【1】 CSelf12 が 2 と同じ 【2】 CSelf12 が 8 と同じ
-◇分岐: 【1】 [ CSelf12 が 2 と同じ ]の場合↓
|▼ ↓
|■変数操作: CSelf11 -= 10 + 0
|■ピクチャ表示:300 [中心]ファイル「Picture/light.png」 X:CSelf10 Y:CSelf11 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 1800 / 拡 100% / カラー R[100] G[100] B[100]
|■
-◇分岐: 【2】 [ CSelf12 が 8 と同じ ]の場合↓
|▼ ↑
|■変数操作: CSelf11 -= 10 + 0
|■ピクチャ表示:300 [中心]ファイル「Picture/light.png」 X:CSelf10 Y:CSelf11 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
-◇上記以外
|■条件分岐(変数): 【1】 CSelf12 が 4 と同じ 【2】 CSelf12 が 6 と同じ
|-◇分岐: 【1】 [ CSelf12 が 4 と同じ ]の場合↓
| |▼ ←
| |■変数操作: CSelf11 -= 10 + 0
| |■ピクチャ表示:300 [中心]ファイル「Picture/light.png」 X:CSelf10 Y:CSelf11 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 2700 / 拡 100% / カラー R[100] G[100] B[100]
| |■
|-◇分岐: 【2】 [ CSelf12 が 6 と同じ ]の場合↓
| |▼ →
| |■変数操作: CSelf11 -= 10 + 0
| |■ピクチャ表示:300 [中心]ファイル「Picture/light.png」 X:CSelf10 Y:CSelf11 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 900 / 拡 100% / カラー R[100] G[100] B[100]
| |■
|-◇上記以外
| |■条件分岐(変数): 【1】 CSelf12 が 1 と同じ 【2】 CSelf12 が 9 と同じ
| |-◇分岐: 【1】 [ CSelf12 が 1 と同じ ]の場合↓
| | |■変数操作: CSelf11 -= 10 + 0
| | |■ピクチャ表示:300 [中心]ファイル「Picture/light.png」 X:CSelf10 Y:CSelf11 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 2250 / 拡 100% / カラー R[100] G[100] B[100]
| | |■
| |-◇分岐: 【2】 [ CSelf12 が 9 と同じ ]の場合↓
| | |■変数操作: CSelf11 -= 10 + 0
| | |■ピクチャ表示:300 [中心]ファイル「Picture/light.png」 X:CSelf10 Y:CSelf11 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 450 / 拡 100% / カラー R[100] G[100] B[100]
| | |■
| |-◇上記以外
| | |■条件分岐(変数): 【1】 CSelf12 が 3 と同じ 【2】 CSelf12 が 7 と同じ
| | |-◇分岐: 【1】 [ CSelf12 が 3 と同じ ]の場合↓
| | | |■変数操作: CSelf11 -= 10 + 0
| | | |■ピクチャ表示:300 [中心]ファイル「Picture/light.png」 X:CSelf10 Y:CSelf11 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 1350 / 拡 100% / カラー R[100] G[100] B[100]
| | | |■
| | |-◇分岐: 【2】 [ CSelf12 が 7 と同じ ]の場合↓
| | | |■変数操作: CSelf11 -= 10 + 0
| | | |■ピクチャ表示:300 [中心]ファイル「Picture/light.png」 X:CSelf10 Y:CSelf11 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 3150 / 拡 100% / カラー R[100] G[100] B[100]
| | | |■
| | |◇分岐終了◇
| | |■
| |◇分岐終了◇
| |■
|◇分岐終了◇
|■
◇分岐終了◇

作ってみたオフにするコマンド
※オンオフのコモンの12行目辺り

| |■条件分岐(変数): 【1】 CSelf11 が 1 と同じ
| |-◇分岐: 【1】 [ CSelf11 が 1 と同じ ]の場合↓
| | |■条件分岐(変数): 【1】 Sys13:イベント実行中?(1=ON) が 0 と同じ
| | |-◇分岐: 【1】 [ Sys13:イベント実行中?(1=ON) が 0 と同じ ]の場合↓
| | | |■キー入力:CSelf10 4方向 サブキー(12)
| | | |■条件分岐(変数): 【1】 Sys13:イベント実行中?(1=ON) が 0 と同じ
| | | |-◇分岐: 【1】 [ Sys13:イベント実行中?(1=ON) が 0 と同じ ]の場合↓
| | | | |■条件分岐(変数): 【1】 CSelf10 が 12 と同じ
| | | | |-◇分岐: 【1】 [ CSelf10 が 12 と同じ ]の場合↓
| | | | | |■変数操作: V4[暗闇] = 0 + 0
| | | | | |■変数操作: CSelf11 = 0 + 0
| | | | | |■
| | | | |◇分岐終了◇
| | | | |■
| | | |◇分岐終了◇
| | | |■
| | |◇分岐終了◇
| | |■
| |◇分岐終了◇

それから、このコマンドを入れると懐中電灯の表示がおかしくなります。(主人公の位置を追わない、Cキーを押っぱなしにしないと追わなくなる)


記事No: 21382
タイトルRe: サブキーを押してオンにした懐中電灯等をもう一度サブキーを押すと消えるやり方
投稿日: 2021/10/05 00:49
投稿者わんつー [rpdg1119(海外)]

その後色々変えてました
以下のように作りましたらサブキーを押すとたまに表示され、もう一度押すとたまに消えるようなりました。なぜか表示される時されない時、消える時消えない時があります。
確認のためセルフ変数[表示]が0から1になるときにseを入れてみましたが、1から0になる(と思われる)時にもseがなります。
サブキーの反応がよくて一回押しても押しっぱなし状態になるのかとも思いましたが…わかりません

懐中電灯オンオフ

■条件分岐(変数): 【1】 Sys13:イベント実行中?(1=ON) が 0 と同じ
-◇分岐: 【1】 [ Sys13:イベント実行中?(1=ON) が 0 と同じ ]の場合↓
|■キー入力:CSelf13[キー入力] サブキー(12)
|■条件分岐(変数): 【1】 Sys13:イベント実行中?(1=ON) が 0 と同じ
|-◇分岐: 【1】 [ Sys13:イベント実行中?(1=ON) が 0 と同じ ]の場合↓
| |■条件分岐(変数): 【1】 CSelf13[キー入力] が 12 と同じ
| |-◇分岐: 【1】 [ CSelf13[キー入力] が 12 と同じ ]の場合↓
| | |■条件分岐(変数): 【1】 CSelf16[表示] が 0 と同じ
| | |-◇分岐: 【1】 [ CSelf16[表示] が 0 と同じ ]の場合↓
| | | |■変数操作: V4[暗闇] = 1 + 0
| | | |■変数操作: CSelf16[表示] = 1 + 0
| | | |■サウンド:SE ファイル[SE/[System]Enter02_Koya.ogg] 音 100% 周 100% 再生 / 遅延:0フレーム
| | | |■
| | |-◇上記以外
| | | |■条件分岐(変数): 【1】 CSelf16[表示] が 1 と同じ
| | | |-◇分岐: 【1】 [ CSelf16[表示] が 1 と同じ ]の場合↓
| | | | |■ピクチャ消去:300 / 0(0)フレーム
| | | | |■変数操作: V4[暗闇] = 0 + 0
| | | | |■変数操作: CSelf16[表示] = 0 + 0
| | | | |■
| | | |◇分岐終了◇
| | | |■
| | |◇分岐終了◇
| | |■
| |◇分岐終了◇
| |■
|◇分岐終了◇
|■
◇分岐終了◇


記事No: 21383
タイトル解決しました
投稿日: 2021/10/05 01:30
投稿者ななし [rpdg1049(海外)]

表示と消去する所にそれぞれ10フレームのウェイトを入れたら問題なく動作しました。