我正在尝试制作一个基于flash的活动,最终用户将键入一些Java作为写作练习,完成后,他们将点击回车键,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);
编辑:李发现代码在多行上。当我把所有东西都放在"标记内,并把所有东西揉成一行时,它就起了作用!
我认为你之所以会出错,是因为你格式化字符串的方式——你有"环绕字符串,但也在其中——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);
或者发布你收到的错误信息,证明我错了;)