我试图制作一个基于Flash的活动,最终用户会输入一些Java作为写作练习,当它完成后,他们会点击输入,flash会检查看看如果他们输入正确。
问题出现在我写动作脚本的地方。当我测试电影时,flash会抛出许多错误,因为它认为输入文本框中输入的Java只是格式化的代码。我使用的代码过去曾用于输入名称或数字这样的简单内容,但是使用代码类型输入时,它会中断。我知道HTML中有标签可以将代码显示为文本,但我无法在动作脚本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发现代码是多行的。一旦我把所有东西放在' '标记并将所有内容拼凑到一行,它有效!
答案 0 :(得分: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);
或发布您收到的错误消息并证明我错了;)