質問スレッド
このフォームからは投稿できません。
name
e-mail
url
subject
comment

[もどる] [新規投稿] [新規順タイトル表示] [ツリー表示] [新着順記事] [留意事項] [ワード検索] [過去ログ] [管理用]
  • 以下は新規投稿順のリスト(投稿記事)表示です。

  • 【質問フォーム】
    【重要!】 質問する前に必ず、過去に同じ質問がないか検索してください!

    検索ワード:条件: 表示:
    質問スレッドまとめも一通り覗いてみてください。

    もし以下のケースで困った場合は、まずリンク先の文書内に答えがないか探してください。

    ・まずはこの中からお探し下さい → パーフェクトガイド
    ・バグかな?と思ったときは → よくある質問
    ・基本システムの設定方法が分からない場合 → 基本システム講座(by 藤田るいふ氏)
    ・イベントコマンドなどの仕様が分からない場合 → 公式マニュアル

    ※書き込む前に少なくとも1日2日は、自分で探したり挑戦する努力をしてみてください。

    上記のことを全部やってもどうしても分からなかった場合だけ、以下のフォームから質問してください。
      

    おなまえ※必須
    Eメール
    subject 入力禁止
    Title 入力禁止
    Theme 入力禁止
    タイトル (質問内容に沿ったタイトルにしてください、「わかりません」「質問です」はダメ)
    URL 入力禁止
    URL
    【質問内容】
    手動改行 強制改行 図表モード
    添付ファイル    (500kBまで)
    削除キー (英数字で8文字以内)
    投稿キー (投稿時 投稿キー を入力してください)
    プレビュー   


    記事No: 21541 [関連記事]
    タイトルウディタ3.202でSEの音質が元の音声データの音質と異なって再生される
    投稿日: 2023/06/27 15:42
    投稿者チョコアイス [LerLpee1087]

    [やりたいこと]
    ウディタ3.202を完全初期データの空データで使用しています。

    マップイベントで特定の画像をクリックしたらSEが再生するように設定したのですが、
    そのSEの音質が元の音声データの音質とかなり異なってしまいます。

    どうすれば元の音声データの音質を保ったままSEとして使用できるでしょうか?
    アドバイス等いただけたら嬉しいです。

    よろしくお願いします。

    [やってみたこと]
    1. 音声データをwavからmp3に変更
    2. 〈ファイル名で指定〉から〈システムDBから直接選択〉に変更
    3. 〈SE指定〉ではなく〈BGM指定〉に変更

    [やってみた結果、どううまくいかないか]
    1、2ともに変化はなく元の音声データと異なる音質で再生されました。
    3では〈BGM指定〉のためループ再生されますが、元の音声データと同じ音質で再生されました。


    記事No: 21540 [関連記事]
    タイトルRe: スパイ映画などによくある赤外線センサー
    投稿日: 2023/06/06 14:15
    投稿者影月 [riFrFOrO579]

    あああるほど
    そういう調整が必要だったんですねぇ

    無事センサーも実装できました
    ありがとうございます


    記事No: 21539 [関連記事]
    タイトルRe: スパイ映画などによくある赤外線センサー
    投稿日: 2023/06/04 21:13
    投稿者YADO [LerLWW459]

    > タイトル通りのものを作りたいのですがセンサーを一定間隔でon/off切り替えに
    > するためにウェイトを入れるとセンサーonの状態でもセンサーが動作してくれません。
    >
    > ウェイトを入れずにセンサーを稼働させる分には問題なく動作してくれるのですが……
    >
    > コモンは以下のようになります
    >
    > ■ループ開始
    > |■デバッグ文:ループスタート
    > |■動作指定:このイベント / 不透明度設定 255
    > |■変数操作+: CSelf10 = 主人公 の 画面X座標
    > |■変数操作+: CSelf11 = 主人公 の 画面Y座標
    > |■変数操作+: CSelf12 = このマップイベント の 画面X座標
    > |■変数操作+: CSelf13 = このマップイベント の 画面Y座標
    > |■変数操作: CSelf13 -= 5 + 0
    > |■変数操作: CSelf14 絶対値= CSelf10 - CSelf12
    > |■変数操作: CSelf15 絶対値= CSelf11 - CSelf13
    > |■条件分岐(変数): 【1】 CSelf14 が 5 以下
    > |-◇分岐: 【1】 [ CSelf14 が 5 以下 ]の場合↓
    > | |■条件分岐(変数): 【1】 CSelf15 が 10 以下
    > | |-◇分岐: 【1】 [ CSelf15 が 10 以下 ]の場合↓
    > | | |■サウンド:BGS ファイル[SE/警告音.wav] 音 100% 周 100% ル 0ms 再生 / 処理時間:0フレーム
    > | | |■キャラエフェクト:このイベント[点滅A(明滅)] R255/G0/B0 (2)フレーム
    > | | |■ウェイト:30 フレーム
    > | | |■変数操作: V1[視界判定] = 1 + 0
    > | | |■
    > | |◇分岐終了◇
    > | |■
    > |◇分岐終了◇
    > |■ウェイト:180 フレーム
    > |■動作指定:このイベント / 不透明度設定 0
    > |■ウェイト:60 フレーム
    > |■デバッグ文:ループ終了
    > |■
    > ◇ループここまで◇◇
    >
    > 見てのとおりイベント不透明度255のときがセンサーONで指定ウェイトで時間経過するとイベント不透明度が0になってこの時はイベントに触れてもセンサーが反応しないという仕掛けです。
    >
    > (ここでいう反応とはプレイヤーがイベントに接触した際に指定のseが鳴る状態の事)
    >
    > さっきも言った通り触れたときに反応する部分は問題なく動作するのはわかっています。
    > ただウェイトを入れるとセンサーがonになっているタイミングでもセンサーが鳴ってくれないのです。
    >
    > このセンサーはどうしても一定間隔でon/offを切り替える仕様にしたいのでウェイトを入れるのは必須だと思うのですがどうすればよいでしょうか?
    >
    >
    > ちなみにこのコモンはマップイベントに並列実行で読み込ませる形をとっていますが、このコモンを使わずマップイベントに直接指示を書いて点滅描写を変数操作によるページ切り替えで表現した場合でもやはり同様にウェイト関連で反応しませんでした。


    センサー処理の部分は、1フレーム単位で処理しないと機能しないでしょう。

    ■ループ開始
    |■デバッグ文:ループスタート
    |■動作指定:このイベント / 不透明度設定 255
    |■回数付きループ [ 180 ]回
    | |■変数操作+: CSelf10 = 主人公 の 画面X座標
    | |■変数操作+: CSelf11 = 主人公 の 画面Y座標
    | |■変数操作+: CSelf12 = このマップイベント の 画面X座標
    | |■変数操作+: CSelf13 = このマップイベント の 画面Y座標
    | |■変数操作: CSelf13 -= 5 + 0
    | |■変数操作: CSelf14 絶対値= CSelf10 - CSelf12
    | |■変数操作: CSelf15 絶対値= CSelf11 - CSelf13
    | |■条件分岐(変数): 【1】 CSelf14 が 5 以下
    | |-◇分岐: 【1】 [ CSelf14 が 5 以下 ]の場合↓
    | | |■条件分岐(変数): 【1】 CSelf15 が 10 以下
    | | |-◇分岐: 【1】 [ CSelf15 が 10 以下 ]の場合↓
    | | | |■サウンド:BGS ファイル[SE/警告音.wav] 音 100% 周 100% ル 0ms 再生 / 処理時間:0フレーム
    | | | |■キャラエフェクト:このイベント[点滅A(明滅)] R255/G0/B0 (2)フレーム
    | | | |■ウェイト:30 フレーム
    | | | |■変数操作: V1[視界判定] = 1 + 0
    | | | |■
    | | |◇分岐終了◇
    | | |■
    | |◇分岐終了◇
    | |■ウェイト:1 フレーム
    | |■
    | ◇ループここまで◇◇
    |■動作指定:このイベント / 不透明度設定 0
    |■ウェイト:60 フレーム
    |■デバッグ文:ループ終了
    |■
    ◇ループここまで◇◇


    記事No: 21538 [関連記事]
    タイトルスパイ映画などによくある赤外線センサー
    投稿日: 2023/06/02 18:07
    投稿者影月 [riFrFOrO579]

    タイトル通りのものを作りたいのですがセンサーを一定間隔でon/off切り替えに
    するためにウェイトを入れるとセンサーonの状態でもセンサーが動作してくれません。

    ウェイトを入れずにセンサーを稼働させる分には問題なく動作してくれるのですが……

    コモンは以下のようになります

    ■ループ開始
    |■デバッグ文:ループスタート
    |■動作指定:このイベント / 不透明度設定 255
    |■変数操作+: CSelf10 = 主人公 の 画面X座標
    |■変数操作+: CSelf11 = 主人公 の 画面Y座標
    |■変数操作+: CSelf12 = このマップイベント の 画面X座標
    |■変数操作+: CSelf13 = このマップイベント の 画面Y座標
    |■変数操作: CSelf13 -= 5 + 0
    |■変数操作: CSelf14 絶対値= CSelf10 - CSelf12
    |■変数操作: CSelf15 絶対値= CSelf11 - CSelf13
    |■条件分岐(変数): 【1】 CSelf14 が 5 以下
    |-◇分岐: 【1】 [ CSelf14 が 5 以下 ]の場合↓
    | |■条件分岐(変数): 【1】 CSelf15 が 10 以下
    | |-◇分岐: 【1】 [ CSelf15 が 10 以下 ]の場合↓
    | | |■サウンド:BGS ファイル[SE/警告音.wav] 音 100% 周 100% ル 0ms 再生 / 処理時間:0フレーム
    | | |■キャラエフェクト:このイベント[点滅A(明滅)] R255/G0/B0 (2)フレーム
    | | |■ウェイト:30 フレーム
    | | |■変数操作: V1[視界判定] = 1 + 0
    | | |■
    | |◇分岐終了◇
    | |■
    |◇分岐終了◇
    |■ウェイト:180 フレーム
    |■動作指定:このイベント / 不透明度設定 0
    |■ウェイト:60 フレーム
    |■デバッグ文:ループ終了
    |■
    ◇ループここまで◇◇

    見てのとおりイベント不透明度255のときがセンサーONで指定ウェイトで時間経過するとイベント不透明度が0になってこの時はイベントに触れてもセンサーが反応しないという仕掛けです。

    (ここでいう反応とはプレイヤーがイベントに接触した際に指定のseが鳴る状態の事)

    さっきも言った通り触れたときに反応する部分は問題なく動作するのはわかっています。
    ただウェイトを入れるとセンサーがonになっているタイミングでもセンサーが鳴ってくれないのです。

    このセンサーはどうしても一定間隔でon/offを切り替える仕様にしたいのでウェイトを入れるのは必須だと思うのですがどうすればよいでしょうか?


    ちなみにこのコモンはマップイベントに並列実行で読み込ませる形をとっていますが、このコモンを使わずマップイベントに直接指示を書いて点滅描写を変数操作によるページ切り替えで表現した場合でもやはり同様にウェイト関連で反応しませんでした。


    記事No: 21537 [関連記事]
    タイトルRe: STGゲーム続き 敵弾発射時にマップ移動した際の弾ピクチャの消し方
    投稿日: 2023/05/26 21:09
    投稿者影月 [riFrFOrO579]

    また助けられましたね
    おかげさまでうまくいきました!

    ありがとうございます!!


    記事No: 21536 [関連記事]
    タイトルRe: STGゲーム続き 敵弾発射時にマップ移動した際の弾ピクチャの消し方
    投稿日: 2023/05/25 21:52
    投稿者YADO [LerLWW459]

    ピクチャが残る原因は、ループの処理途中に別のマップへ移動すると、
    マップイベントの並列実行が強制終了し、最後にあるピクチャ消去が実行できなくなる事が原因でしょう。

    ピクチャの消し方はいくつかの方法がありますが、単純なのはコモンイベントにマップ移動を監視する並列実行を設定し、
    別のマップへ移動したらピクチャが消えるようにする方法です。

    コモンべイベント/並列実行
    ■変数操作+: CSelf10 = 現在のマップID
    ■条件分岐(変数): 【1】 CSelf10 が CSelf11 と同じ
    -◇分岐: 【1】 [ CSelf10 が CSelf11 と同じ ]の場合↓
    |■イベント処理中断
    |■
    ◇分岐終了◇
    ■変数操作+: CSelf11 = 現在のマップID
    ■ピクチャ消去:300 / 0(0)フレーム

    WoditorEvCOMMAND_START
    [124][3,0]<0>(1600010,12288,0)()
    [111][4,0]<0>(1,1600010,1600011,2)()
    [401][1,0]<0>(1)()
    [172][0,0]<1>()()
    [0][0,0]<1>()()
    [499][0,0]<0>()()
    [124][3,0]<0>(1600011,12288,0)()
    [150][3,0]<0>(2,300,0)()
    WoditorEvCOMMAND_END


    元のマップへ戻ってきた時にピクチャが表示されるのは、2ページ目が再び実行されている事が原因でしょう。

    多分2ページのイベントコマンドを
    ■イベントの挿入[名]: ["敵の弾発射コモン"] <コモンEv 215>
    ■変数操作: このEvのセルフ変数0 = 0 + 0

    のように設定しているかと思いますが、この場合は上記のピクチャが消えない理由と同様に、
    別のマップへ移動するとイベント処理が強制終了してしまうため、
    最後に設定した変数操作が実行できず、このマップへ戻ってくると再び2ページ目が最初から実行されます。

    例えば以下のように設定すれば、2ページ目の1回目の実行は敵の弾発射コモンの呼び出しが実行され、
    2回目の実行ではセルフ変数を「0」に戻して、2ページ目の起動条件を満たさないようにする事ができるでしょう。

    ■条件分岐(変数): 【1】 このEvのセルフ変数1 が 1 と同じ
    -◇分岐: 【1】 [ このEvのセルフ変数1 が 1 と同じ ]の場合↓
    |■変数操作: このEvのセルフ変数0〜このEvのセルフ変数1 = 0 + 0
    |■イベント処理中断
    |■
    ◇分岐終了◇
    ■変数操作: このEvのセルフ変数1 = 1 + 0
    ■イベントの挿入[名]: ["敵の弾発射コモン"] <コモンEv 215>


    記事No: 21534 [関連記事]
    タイトルSTGゲーム続き 敵弾発射時にマップ移動した際の弾ピクチャの消し方
    投稿日: 2023/05/25 20:13
    投稿者影月 [riFrFOrO579]

    STGゲーム続き 敵弾発射時にマップ移動した際の弾ピクチャの消し方 (画像サイズ: 363×369 13kB)

    今STGを作っているのですがマップ移動時にピクチャで表示させている敵の弾がうまく消えてくれません。
    マップの出入りに変数をつけてその変数が1のときに該当ピクチャを消去する指示を入れることによって一応弾は消えてくれるのですがそうすると今度は前のマップに戻ったときなぜか消えたはずの弾が表示されたままになってしまうというバグが起こってしまいます。

    ゲーム内容としてはステルスゲームで主人公が敵視界に入ると敵が弾を撃ってくるという仕掛けです。

    視界の表現にはウディタ公式サイトにある8方向視界コモン(UDB版)を使い、敵の弾発射にはDot蜥蜴の掘っ立て小屋というサイトにある自機狙い弾の作り方というページに貼ってあった敵の弾発射コモンを使わせてもらっています。

    まとめるとこんな感じです。
    ・主人公が敵の視界に入る
    ・すると8方向視界コモンがUDB経由で敵用のイベントのセルフ変数0に1を代入する
    ・敵用イベントセルフ変数0=1で敵の弾発射コモン呼び出し
    ・この状況で敵が弾を撃った瞬間に別マップに移動すると弾が残ってしまう※
    ・あるいは弾を消えるよう設定しても前マップに戻ると弾が表示されてしまう※
    ※この際弾は動かず画面の一点に固定されたまま

    敵の弾発射コモン
    ▼ 敵と主人公の座標を取得
    ■変数操作+: CSelf15[敵キャラX座標] = このマップイベント の 画面X座標
    ■変数操作+: CSelf16[敵キャラY座標] = このマップイベント の 画面Y座標
    ■変数操作+: CSelf17[主人公X座標] = 主人公 の 画面X座標
    ■変数操作+: CSelf18[主人公Y座標] = 主人公 の 画面Y座標
    ▼ X、Yそれぞれの座標の差を求めます
    ■変数操作: CSelf25[X座標の差] = CSelf17[主人公X座標] - CSelf15[敵キャラX座標]
    ■変数操作: CSelf26[Y座標の差] = CSelf18[主人公Y座標] - CSelf16[敵キャラY座標]
    ▼ X、Yの座標の差を代入して角度を求めます
    ■変数操作: CSelf27[弾発射角度] = 角度[x10]←傾き X: CSelf25[X座標の差] Y: CSelf26[Y座標の差]
    ▼ cosと角度でX方向の移動量を求めます
    ■変数操作: CSelf28[cos] = cos[x1000]←角度[x10] = CSelf27[弾発射角度] + 0
    ▼ sinと角度でY方向の移動量を求めます
    ■変数操作: CSelf29[sin] = sin[x1000]←角度[x10] = CSelf27[弾発射角度] + 0
    ▼ 移動量が大きすぎるので除算して小さくします。
    ▼ 大きな値で割るほどスピードが遅くなります。
    ■変数操作: CSelf29[sin] /= 160 + 0
    ■変数操作: CSelf28[cos] /= 160 + 0
    ▼ 敵の座標に弾を表示、グラフィックは各自用意してください。
    ■ピクチャ表示:300 [中心]ファイル「BasicData/icon010.png」 X:CSelf15[敵キャラX座標] Y:CSelf16[敵キャラY座標] / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 65% / カラー R[100] G[100] B[100]
    ■デバッグ文:ピクチャ表示:300
    ▼ 回数が多いほど、弾の飛距離が伸びます。
    ■回数付きループ [ 30 ]回
    |▼ 弾の移動を行います。相対にチェック入れるのを忘れないでください。
    |■ピクチャ移動:300 相対X:CSelf28[cos] Y:CSelf29[sin] / 1(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 65% / カラー R[100] G[100] B[100]
    |■ウェイト:1 フレーム
    |■変数操作+: CSelf12[ピクチャのX座標] = ピクチャ:300 の X座標
    |■変数操作+: CSelf13[ピクチャのY座標] = ピクチャ:300 の Y座標
    |■変数操作: CSelf13[ピクチャのY座標] -= 5 + 0
    |■変数操作: CSelf19 絶対値= CSelf12[ピクチャのX座標] - CSelf17[主人公X座標]
    |■変数操作: CSelf20 絶対値= CSelf13[ピクチャのY座標] - CSelf18[主人公Y座標]
    |■条件分岐(変数): 【1】 CSelf19 が 5 以下
    |-◇分岐: 【1】 [ CSelf19 が 5 以下 ]の場合↓
    | |■条件分岐(変数): 【1】 CSelf20 が 10 以下
    | |-◇分岐: 【1】 [ CSelf20 が 10 以下 ]の場合↓
    | | |■キャラエフェクト:主人公[点滅A(明滅)] R255/G0/B0 (2)フレーム
    | | |■動作指定:主人公 / ジャンプ-右0下0
    | | |■イベントの挿入[名]: ["○回復・ダメージ処理"] <コモンEv 4> / 1:HPの回復・減少 / 1:ファイターさん / -1
    | | |■
    | |◇分岐終了◇
    | |■
    |◇分岐終了◇
    |■イベントの挿入[名]: ["マップ移動時敵弾消去"] <コモンEv 229>
    |■イベントの挿入[名]: ["敵弾壁判定"] <コモンEv 218>
    |■
    ◇ループここまで◇◇
    ▼ 弾を消します。
    ■ピクチャ消去:300 / 0(0)フレーム
    ■キャラエフェクト:主人公[点滅A(明滅)] R0/G0/B0 (0)フレーム


    やりたいこととしては敵の弾発射時に主人公が別マップ移動した際
    弾を消す(消すだけなら現状でもできる)

    移動先マップから移動元マップに戻った際表示されてしまう敵弾を消したいです。


    添付ファイルは移動先から移動元に帰ってきたときのバグの参考例です。
    マップが切り替わった直後一瞬敵設定のマップイベントから弾が表示されそのあとは画像のように一点に固まっしまいます

    敵イベント設定
    ページ1何もなし(UDBで設定した8方向視界コモン作動中 ここで主人公が視界に入るとセルフ変数0に1〜9の方向が代入される)
    ページ2並列実行セルフ変数0が1以上のとき 敵の弾発射コモン


    記事No: 21533 [関連記事]
    タイトルRe: STGゲームにおける自機発射弾ピクチャの消し方
    投稿日: 2023/05/23 20:23
    投稿者影月 [riFrFOrO579]

    いやあここまで長々とコモンを書いてくださり助かりました!
    試したところ無事動作いたしまして問題なさそうです。

    ありがとうございました


    記事No: 21532 [関連記事]
    タイトルRe: STGゲームにおける自機発射弾ピクチャの消し方
    投稿日: 2023/05/22 22:42
    投稿者YADO [LerLWW459]

    最初の質問が「ピクチャが消えない」だったので、その原因だけを答えましたが、正常に動かす場合は、他にもいくつかの修正が必要です。

    ●添付されていた画像のピクチャ移動のXY設定が正しくなかった。
    (主人公の向きのセルフ変数が設定されていた)

    ●ピクチャ表示で「スクロールとリンク」にチャックを付ける。
    (既に設定されているかもしれない)

    ●ピクチャの処理時間は「0」。

    ●ピクチャを消去したら、移動処理(当たり判定の処理)を終了させる。
    (消去したあとは表示位置が「X-1、Y-1」となり、画面左上にいる敵の当たり判定が実行してしまう)

    ●ピクチャ移動は「相対モード」で移動。
    (通常のXYでも設定可能だが、「スクロールとリンク」を設定しているので、通常のXY位置にシステム変数[104・105]を加える必要があるため、相対モードの方が設定が楽で分かりやすい)

    ●当たり判定のコモンの最後にあるピクチャ消去は「ループ中断」の所へ移動。
    (ピクチャ消去を最後の行に置いておくと、敵に当たっても当たらなくてもピクチャが消えてしまう)


    上記を踏まえた上で設定し直すと、以下のようになります。

    コモンイベント「弾丸発射処理」/並列実行
    ■キー入力:CSelf10[キー][入力待ち] キーボード(100〜) [キーコード[146]のみ判定] ( Cキー )
    ■変数操作: CSelf15[ピクチャ番号] = 301 + 0
    ■変数操作+: CSelf11[X] = 主人公 の 画面X座標
    ■変数操作+: CSelf12[Y] = 主人公 の 画面Y座標
    ■変数操作: CSelf12[Y] -= 8 + 0
    ■変数操作+: CSelf20[主人公の向き] = 主人公 の 向き(1〜9)
    ■ピクチャ表示:CSelf15[ピクチャ番号] [中心]文字列[●] X:CSelf11[X] Y:CSelf12[Y] / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
    ■変数操作: CSelf21[処理時間] = 20 + 0
    ■回数付きループ [ 20 ]回
    |■条件分岐(変数): 【1】 CSelf20[主人公の向き] が 1 と同じ 【2】 CSelf20[主人公の向き] が 2 と同じ 【3】 CSelf20[主人公の向き] が 3 と同じ 【4】 CSelf20[主人公の向き] が 4 と同じ
    |-◇分岐: 【1】 [ CSelf20[主人公の向き] が 1 と同じ ]の場合↓
    ||■ピクチャ移動:CSelf15[ピクチャ番号] 相対X:-8 Y:8 / 0(0)フレーム / パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
    ||■
    |-◇分岐: 【2】 [ CSelf20[主人公の向き] が 2 と同じ ]の場合↓
    ||■ピクチャ移動:CSelf15[ピクチャ番号] 相対X:0 Y:8 / 0(0)フレーム / パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
    ||■
    |-◇分岐: 【3】 [ CSelf20[主人公の向き] が 3 と同じ ]の場合↓
    ||■ピクチャ移動:CSelf15[ピクチャ番号] 相対X:8 Y:8 / 0(0)フレーム / パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
    ||■
    |-◇分岐: 【4】 [ CSelf20[主人公の向き] が 4 と同じ ]の場合↓
    ||■ピクチャ移動:CSelf15[ピクチャ番号] 相対X:-8 Y:0 / 0(0)フレーム / パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
    ||■
    |◇分岐終了◇
    |■条件分岐(変数): 【1】 CSelf20[主人公の向き] が 6 と同じ 【2】 CSelf20[主人公の向き] が 7 と同じ 【3】 CSelf20[主人公の向き] が 8 と同じ 【4】 CSelf20[主人公の向き] が 9 と同じ
    |-◇分岐: 【1】 [ CSelf20[主人公の向き] が 6 と同じ ]の場合↓
    ||■ピクチャ移動:CSelf15[ピクチャ番号] 相対X:8 Y:0 / 0(0)フレーム / パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
    ||■
    |-◇分岐: 【2】 [ CSelf20[主人公の向き] が 7 と同じ ]の場合↓
    ||■ピクチャ移動:CSelf15[ピクチャ番号] 相対X:-8 Y:-8 / 0(0)フレーム / パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
    ||■
    |-◇分岐: 【3】 [ CSelf20[主人公の向き] が 8 と同じ ]の場合↓
    ||■ピクチャ移動:CSelf15[ピクチャ番号] 相対X:0 Y:-8 / 0(0)フレーム / パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
    ||■
    |-◇分岐: 【4】 [ CSelf20[主人公の向き] が 9 と同じ ]の場合↓
    ||■ピクチャ移動:CSelf15[ピクチャ番号] 相対X:8 Y:-8 / 0(0)フレーム / パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
    ||■
    |◇分岐終了◇
    |■イベントの挿入[名]: ["当たり判定"] <コモンEv 216>
    |■変数操作+: CSelf16[表示有無] = ピクチャ:CSelf15[ピクチャ番号] の ピクチャが使用中?(1=YES)
    |■条件分岐(変数): 【1】 CSelf16[表示有無] が 0 と同じ
    |-◇分岐: 【1】 [ CSelf16[表示有無] が 0 と同じ ]の場合↓
    ||■ループ中断
    ||■
    |◇分岐終了◇
    |■変数操作: CSelf21[処理時間] -= 1 + 0
    |■ウェイト:1 フレーム
    |■
    ◇ループここまで◇◇
    ■ピクチャ消去:CSelf15[ピクチャ番号] / 0(0)フレーム
    ■ウェイト:CSelf21[処理時間] フレーム

    WoditorEvCOMMAND_START
    [123][3,0]<0>(1600010,4480,146)()
    [121][4,0]<0>(1600015,301,0,0)()
    [124][4,0]<0>(1600011,4096,-2,6)()
    [124][4,0]<0>(1600012,4096,-2,7)()
    [121][4,0]<0>(1600012,8,0,512)()
    [124][4,0]<0>(1600020,4096,-2,5)()
    [150][11,1]<0>(33558560,1600015,0,1,1,1,255,1600011,1600012,100,0)("●")
    [121][4,0]<0>(1600021,20,0,0)()
    [179][1,0]<0>(20)()
    [111][13,0]<1>(4,1600020,1,2,1600020,2,2,1600020,3,2,1600020,4,2)()
    [401][1,0]<1>(1)()
    [150][13,0]<2>(4263681,1600015,0,0,0,-1000000,-1000000,-8,8,-1000000,-1000000,0,16777216)()
    [0][0,0]<2>()()
    [401][1,0]<1>(2)()
    [150][13,0]<2>(4263681,1600015,0,0,0,-1000000,-1000000,0,8,-1000000,-1000000,0,16777216)()
    [0][0,0]<2>()()
    [401][1,0]<1>(3)()
    [150][13,0]<2>(4263681,1600015,0,0,0,-1000000,-1000000,8,8,-1000000,-1000000,0,16777216)()
    [0][0,0]<2>()()
    [401][1,0]<1>(4)()
    [150][13,0]<2>(4263681,1600015,0,0,0,-1000000,-1000000,-8,0,-1000000,-1000000,0,16777216)()
    [0][0,0]<2>()()
    [499][0,0]<1>()()
    [111][13,0]<1>(4,1600020,6,2,1600020,7,2,1600020,8,2,1600020,9,2)()
    [401][1,0]<1>(1)()
    [150][13,0]<2>(4263681,1600015,0,0,0,-1000000,-1000000,8,0,-1000000,-1000000,0,16777216)()
    [0][0,0]<2>()()
    [401][1,0]<1>(2)()
    [150][13,0]<2>(4263681,1600015,0,0,0,-1000000,-1000000,-8,-8,-1000000,-1000000,0,16777216)()
    [0][0,0]<2>()()
    [401][1,0]<1>(3)()
    [150][13,0]<2>(4263681,1600015,0,0,0,-1000000,-1000000,0,-8,-1000000,-1000000,0,16777216)()
    [0][0,0]<2>()()
    [401][1,0]<1>(4)()
    [150][13,0]<2>(4263681,1600015,0,0,0,-1000000,-1000000,8,-8,-1000000,-1000000,0,16777216)()
    [0][0,0]<2>()()
    [499][0,0]<1>()()
    [300][2,1]<1>(0,0)("当たり判定")
    [124][4,0]<1>(1600016,16384,1600015,9)()
    [111][4,0]<1>(1,1600016,0,2)()
    [401][1,0]<1>(1)()
    [171][0,0]<2>()()
    [0][0,0]<2>()()
    [499][0,0]<1>()()
    [121][4,0]<1>(1600021,1,0,512)()
    [180][1,0]<1>(1)()
    [0][0,0]<1>()()
    [498][0,0]<0>()()
    [150][3,0]<0>(2,1600015,0)()
    [180][1,0]<0>(1600021)()
    WoditorEvCOMMAND_END

    コモンイベント「当たり判定」/呼び出しのみ
    ■変数操作: CSelf15[ピクチャ番号] = 301 + 0
    ■変数操作+: CSelf30[ピクチャX] = ピクチャ:CSelf15[ピクチャ番号] の X座標
    ■変数操作+: CSelf31[ピクチャY] = ピクチャ:CSelf15[ピクチャ番号] の Y座標



    ■変数操作: CSelf38[イベントID] = 0 + 0
    ■回数付きループ [ 10 ]回
    |■変数操作: CSelf38[イベントID] += 1 + 0
    |■変数操作+: CSelf37[影グラフィック番号] = キャラ[CSelf38[イベントID]] の 影グラフィック番号
    |■条件分岐(変数): 【1】 CSelf37[影グラフィック番号] が 2 以外
    |-◇分岐: 【1】 [ CSelf37[影グラフィック番号] が 2 以外 ]の場合↓
    ||■ループ開始へ戻る
    ||■
    |◇分岐終了◇
    |■変数操作+: CSelf32[イベントX] = キャラ[CSelf38[イベントID]] の 画面X座標
    |■変数操作+: CSelf33[イベントY] = キャラ[CSelf38[イベントID]] の 画面Y座標
    |■変数操作: CSelf33[イベントY] -= 5 + 0
    |■変数操作: CSelf34[距離X] 絶対値= CSelf30[ピクチャX] - CSelf32[イベントX]
    |■変数操作: CSelf35[距離Y] 絶対値= CSelf31[ピクチャY] - CSelf33[イベントY]
    |■条件分岐(変数): 【1】 CSelf34[距離X] が 5 以下
    |-◇分岐: 【1】 [ CSelf34[距離X] が 5 以下 ]の場合↓
    ||■条件分岐(変数): 【1】 CSelf35[距離Y] が 10 以下
    ||-◇分岐: 【1】 [ CSelf35[距離Y] が 10 以下 ]の場合↓
    |||■キャラエフェクト:キャラ[CSelf38[イベントID]][フラッシュ] R100/G-50/B-50 (6)フレーム
    |||■動作指定:キャラ[CSelf38[イベントID]] / ジャンプ-右0下0
    |||■ピクチャ消去:CSelf15[ピクチャ番号] / 0(0)フレーム
    |||■ループ中断
    |||■
    ||◇分岐終了◇
    ||■
    |◇分岐終了◇
    |■
    ◇ループここまで◇◇

    WoditorEvCOMMAND_START
    [121][4,0]<0>(1600015,301,0,0)()
    [124][4,0]<0>(1600030,16384,1600015,0)()
    [124][4,0]<0>(1600031,16384,1600015,1)()
    [103][0,1]<0>()(" ")
    [103][0,1]<0>()(" ")
    [103][0,1]<0>()(" ")
    [121][4,0]<0>(1600038,0,0,0)()
    [179][1,0]<0>(10)()
    [121][4,0]<1>(1600038,1,0,256)()
    [124][4,0]<1>(1600037,4096,1600038,8)()
    [111][4,0]<1>(1,1600037,2,5)()
    [401][1,0]<1>(1)()
    [176][0,0]<2>()()
    [0][0,0]<2>()()
    [499][0,0]<1>()()
    [124][4,0]<1>(1600032,4096,1600038,6)()
    [124][4,0]<1>(1600033,4096,1600038,7)()
    [121][4,0]<1>(1600033,5,0,512)()
    [121][4,0]<1>(1600034,1600030,1600032,6144)()
    [121][4,0]<1>(1600035,1600031,1600033,6144)()
    [111][4,0]<1>(1,1600034,5,3)()
    [401][1,0]<1>(1)()
    [111][4,0]<2>(1,1600035,10,3)()
    [401][1,0]<2>(1)()
    [290][7,0]<3>(1,6,1600038,0,100,-50,-50)()
    [103][1,1]<3>()("【手作業で設定してください】■動作指定:キャラ[CSelf38[イベントID]] / ジャンプ-右0下0")
    [150][3,0]<3>(7970,1600015,0)()
    [171][0,0]<3>()()
    [0][0,0]<3>()()
    [499][0,0]<2>()()
    [0][0,0]<2>()()
    [499][0,0]<1>()()
    [0][0,0]<1>()()
    [498][0,0]<0>()()
    WoditorEvCOMMAND_END

    ※動作指定はイベントコードにできないので、手作業で設定してください。


    記事No: 21531 [関連記事]
    タイトルRe: STGゲームにおける自機発射弾ピクチャの消し方
    投稿日: 2023/05/22 13:12
    投稿者影月 [riFrFOrO579]

    指示通りやってみたら今度は弾が飛ばず主人公の上に一瞬表示された後すぐに消えてしまう点滅みたいになってしまいました。

    どうもピクチャ表示は■回数付きループ [ 20 ]回をループ内に入れないとうまく飛んでくれないようです。

    ピクチャの座標指示などに何か問題でもあるんでしょうか?


    | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |


    - 以下のフォームから自分の投稿記事を修正・削除することができます -
    処理 記事No 削除キー

    - Web Forum Antispam Version -