0

我正在尝试制作一个基于 Flash 的活动,最终用户将输入一些 Java 作为写作练习,完成后,他们将按 Enter 键,Flash 将检查他们是否输入正确。

问题出在我正在编写动作脚本的地方。当我测试这部电影时,flash 会抛出很多错误,因为它认为我在输入文本框中键入的 Java 只是格式不正确的代码。我使用的代码过去曾用于简单的事情,例如键入名称或数字,但使用代码类型输入时,它会中断。我知道 HTML 中有标签可以将代码显示为文本,但我在 actionscript 2 中找不到任何关于如何执行此操作的信息。这就是我所拥有的:

keyListener = new Object();
keyListener.onKeyDown = function() {
if(Key.getCode() == Key.ENTER){
if(allthecode.text == "
    // Import the required API classes.
    import java.util.Scanner;
 
    public class ShowByte 
    {
    public static void main(String[] args) 
    {
    // Create the scanner.
    Scanner GetByte = new Scanner(System.in);

    // Obtain a byte value.
    System.out.print("Type any number: ");
    byte MyByte = GetByte.nextByte();

    // Display the value on screen.
    System.out.println("The value of MyByte is: " + MyByte);
    }
    }
    ") {gotoAndPlay(150);
        }
    }
};
Key.addListener(keyListener);

编辑:Lee 发现代码在多行上。一旦我将所有内容都放在“ ”标记内并将所有内容压缩成一行,它就起作用了!

4

1 回答 1

2

我认为由于您格式化字符串的方式,您遇到了错误 - 您有 " 周围的字符串但也在其中 - flash 会混淆。使用 " 或 ' 来包围字符串,然后在字符串中使用其他类型。例如:

if (allthecode.text == '
    // Import the required API classes.
import java.util.Scanner;

public class ShowByte 
{
public static void main(String[] args) 
{
// Create the scanner.
Scanner GetByte = new Scanner(System.in);

// Obtain a byte value.
System.out.print("Type any number: ");
byte MyByte = GetByte.nextByte();

// Display the value on screen.
System.out.println("The value of MyByte is: " + MyByte);
}
}
') {gotoAndPlay(150);

或发布您收到的错误消息并证明我错了;)

于 2013-02-06T16:04:48.220 回答