1. このサイトではcookie (クッキー) を使用しています。サイトの利用を継続した場合、cookieの使用に同意したものとみなさせていただきます。 詳しくはこちらをご覧ください。

スクリプトのthis.character()について

pseudopasta2019-05-27に開始した「ツクールMV」の中の討論

  1. pseudopasta

    pseudopasta ユーザー

    はじめまして。マップ上で戦闘を行ういわゆるアクションゲームをMVで作っているのですが、
    他のイベントで予め取得しておいた「主人公に最も近いイベントID」が格納された変数72番を使って
     this.character($gameVariables.value(72)).requestAnimation(319)
    といったスクリプトを書いてみたものの、黄文字で "SyntaxError Unexpected Token ;" というエラーメッセージが出てしまいました。どうにかしてthis.character()のカッコ内に変数72番の値を入れたいのですが、何か方法はありますでしょうか。

    一度ダメ元で var enemyid = $gameVariables.value(72) を最初に書いて this.character(enemyid) としてみたのですが、同じくUnexpected Tokenと出てしまい他にできそうなことも思いつかずこちらで質問をさせていただくに至りました。
    javascriptは全く分からなくてツクールMVのスクリプトリファレンスwikiのパーツを切り貼りしてるようなものなので、おそらくtokenという単語から$gameVariables()を使ったのが問題なのだと予想していますが、正直どこが間違っているのかすらわかっていないため下にスクリプト全体の流れを貼っておきます。
    よろしくお願いします。

    ◆スクリプト:$gamePlayer.setTransparent(true)
    :     :this.wait(7)
    :     :$gameSwitches.setValue(4,true)
    :     :this.character($gameVariables.value(72)).requestAnimation(319)
    :     :this.wait(30)
    :     :this.character($gameVariables.value(72)).requestAnimation(145)
    :     :this.wait(45)
    :     :$gameSwitches.setValue(4,false)
    :     :this.wait(10)
    :     :$gamePlayer.setTransparent(false)
     
    #1
  2. 剣崎宗二

    剣崎宗二 ユーザー

    お疲れ様です。
    他のプラグインが干渉している可能性などもあり、やや情報不足です。
    試せる事は以下かと思います。

    1. $gameVariables.value(72)を固定数値に変えてみた場合、エラーは解消されるか?(this.character(3).requestAnimation(319)みたいにした場合など)
    2. 上記で解消された場合、問題は$gameVariables.value(72)の中身が数値ではない事の可能性が高いです(もう一つの可能性は特定のイベントに何か問題がある)。まずは変数72番に何の値が入っている、入れているかを精査してみてください。
    3. 解消されなかった場合、こちらのトリアコンタンさんの記事https://qiita.com/triacontane/items/2e227e5b5ce9503a2c30 を参考に、エラーメッセージを確認する、の例に従ってエラーのスクリーンショットを出してみてください。
     
    #2
    pseudopasta がいいね!しました
  3. pseudopasta

    pseudopasta ユーザー

    $gameVariables.value(72)を同プロジェクト内で定数に変えてみたものの、やはりUnexpected Tokenが返ってきました。中身に関してはゲーム内F9やF8からのconsole.log($gameVariables.value(72))を実行したところ数字(整数)が返ってきたのでこちらも問題ないような気がします。ちなみにF8で出てきた画面はこんな感じでした https://imgur.com/a/9fPZaqu
    プラグインを色々無効化してみたもののそれらしき原因が見つかる気配がなく、試しに一度新規プロジェクトを立ち上げて全く同じスクリプトを実行したところ何の問題も無く動作したので、どうやらプラグインの競合なのかもしれないです……
    イベント同士の距離計算も https://qiita.com/sakura-crowd/items/a8067e4889c70cd1baa6 こちらの方のプラグインで行っているので、そのあたりももう少し探ってみようと思います。
     
    #3
  4. pseudopasta

    pseudopasta ユーザー

    すいません、自己解決しました。
    戦闘アニメを表示する部分ではなく、その後に記述していた移動ルートの指定のスクリプトでコロンにすべき場所をセミコロンにしていたのが原因だったみたいです。
    お騒がせしました……
     
    #4
    リンクス がいいね!しました

このページを共有