0

ということでAdobe directorを使ってクイズを作っているのですが、全体的な環境に苦労しています。

次の Lingo スクリプトを各ボタンに追加して、正解を表示します。

  on mouseDown
    global gscore
    set gscore = gscore + 1

そして最終段階では、次の Lingo スクリプトを使用して取得ポイントを確認し、結果に応じたスプライトを表示します。

on enterFrame
  if gscore = 0 then set the memberNum of sprite (3) to 154
end if
  if gscore = 1 then set the memberNum of sprite (3) to 155
end if
  if gscore = 2 then set the memberNum of sprite (3) to 156
end if
  if gscore = 3 then set the memberNum of sprite (3) to 157
end if
  if gscore = 4 then set the memberNum of sprite (3) to 158
end if
  if gscore = 5 then set the memberNum of sprite (3) to 159
end if
end

私のエラーは、宣言された変数がないと言っているようですが、それはグローバルですよね? では、なぜそれを認識しないのでしょうか。最初のスクリプトは正解に対応するボタンに添付され、各ボタンには次の問題に送信するための個別のスクリプトがあります。結果を表示する最終段階では、gscore の値に応じて特定のカスタム スプライトを表示する必要があります。

4

3 に答える 3

1

解決策を見つけてよかったです。もう 1 つのアプローチは、if ステートメントをまったく使用しないことでした。enterframe スクリプトは次のようになります。

enterframe sprite(3).memberNum = 154+gscore end で

于 2013-03-09T14:35:28.567 に答える
0

了解しました、すみません。

完全なifステートメントにするために、最後のifをすべて削除しました。値を 0 として宣言するために使用される最初のスクリプトでグローバル変数を設定します。その後、インクリメントすると、同じ名前の以前に定義されたグローバル変数に追加されます。

私の問題は、グローバル変数インスタンスのデフォルト値が無効であることにあると思います。

于 2013-03-08T03:26:02.507 に答える