Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 ActionScript 3.0错误1010_Actionscript 3_Flash_Actionscript - Fatal编程技术网

Actionscript 3 ActionScript 3.0错误1010

Actionscript 3 ActionScript 3.0错误1010,actionscript-3,flash,actionscript,Actionscript 3,Flash,Actionscript,我正试图对这个坏蛇版本进行编辑,以供actionscript在我的网站上用作娱乐。我的问题是1010错误,对我来说似乎没有意义。我试过调试,但没有成功 显示为已打印的第一个输出如下: 除了“使用设备字体”设置的文本外,任何可能在运行时编辑的文本都应嵌入字体。使用文本>字体嵌入命令嵌入字体 每当我的蛇吃东西的时候(可以这么说),我就会犯错误: TypeError:Error#1010:术语未定义且没有属性。 在主/单帧() 完整代码如下: package{ import flash.display

我正试图对这个坏蛇版本进行编辑,以供actionscript在我的网站上用作娱乐。我的问题是1010错误,对我来说似乎没有意义。我试过调试,但没有成功

显示为已打印的第一个输出如下:

除了“使用设备字体”设置的文本外,任何可能在运行时编辑的文本都应嵌入字体。使用文本>字体嵌入命令嵌入字体

每当我的蛇吃东西的时候(可以这么说),我就会犯错误:

TypeError:Error#1010:术语未定义且没有属性。 在主/单帧()

完整代码如下:

package{
import flash.display.MovieClip;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
import flash.events.Event; //used for ENTER_FRAME event

public class Main extends MovieClip{
    const speed:int = 20;//speed of the snake
    var score:int;
    var vx:int;
    var vy:int;
    var head:SnakePart;
    var gFood;
    var SnakeDirection:String;
    var snake:Array;

    public function Main(){
        init();
    }
    function init():void {
        //Initialize everything!
        vx = 1; vy = 0;
        score = 1;
        snake = new Array();
        SnakeDirection = "";
        //add food to the stage
        addFood();
        //add snakes head to the stage
        head = new SnakePart();
        head.x = stage.stageWidth/2;
        head.y = stage.stageHeight/2;
        snake.push(head);
        addChild(head);

        stage.addEventListener(KeyboardEvent.KEY_UP , onKeyUp);
        stage.addEventListener(KeyboardEvent.KEY_DOWN , onKeyDown);
        addEventListener(Event.ENTER_FRAME , onEnterFrame);
        //ENTER_FRAME listener is attached to main class and not to the stage directly
    }
    //This function will add food to the stage
    function addFood():void {
            if(score%2==0){
                gFood = new SnakePart();
            }else{
                gFood = new Food();
            }
        gFood.x = 50 + Math.random()*(stage.stageWidth-100);
        gFood.y = 50 + Math.random()*(stage.stageHeight-100);
        addChild(gFood);
    }
    //this function will reset the game
    function reset():void {
        removeChild(gFood);
        addFood();
        head.x = stage.stageWidth/2;
        head.y = stage.stageHeight/2;
        vx = 1;vy = 0;

        for(var i = snake.length-1;i>0;--i){
            removeChild(snake[i]);
            snake.splice(i,1);
        }
    }
    function onKeyDown(event:KeyboardEvent):void{
        if(event.keyCode == Keyboard.LEFT){
           SnakeDirection = "left";
        }else if (event.keyCode == Keyboard.RIGHT) {
           SnakeDirection = "right";
        }else if (event.keyCode == Keyboard.UP) {
            SnakeDirection = "up";
        }else if (event.keyCode == Keyboard.DOWN) {
            SnakeDirection = "down";
        }
    }
    function onKeyUp(event:KeyboardEvent):void {
        if(event.keyCode == Keyboard.LEFT) {
            SnakeDirection = "";
        }else if(event.keyCode == Keyboard.RIGHT) {
            SnakeDirection = "";
        }else if(event.keyCode == Keyboard.UP ) {
            SnakeDirection = "";
        }else if(event.keyCode == Keyboard.DOWN){
            SnakeDirection = "";
        }
    }
    function onEnterFrame(event:Event):void {
        //setting direction of velocity
        if(SnakeDirection == "left" && vx != 1) {
            vx = -1;
            vy = 0;
            //head.rotate(-90);
        }else if(SnakeDirection == "right" && vx != -1) {
            vx = 1;
            vy = 0;
        }else if(SnakeDirection == "up" && vy != 1) {
            vx = 0;
            vy = -1;
        }else if(SnakeDirection == "down" && vy != -1) {
            vx = 0;
            vy = 1;
        }

        //collison with stage
        if(head.x - head.width/2 <= 0){
            score = 0;
            reset();
        }
        if(head.x + head.width/2 >= stage.stageWidth){
            score = 0;
            reset();
        }
        if(head.y - head.height/2 <= 0){
            score = 0;
            reset();
        }
        if(head.y + head.height/2 >= stage.stageHeight){
            score = 0;
            reset();
        }
        //move body of the snake
        for(var i = snake.length-1;i>0;--i){
            snake[i].x = snake[i-1].x;
            snake[i].y = snake[i-1].y;
        }
        //changing the position of snake's head
        head.x += vx*speed;
        head.y += vy*speed;
        //collision with tail
        for(var i = snake.length-1;i>=1;--i){
            if(snake[0].x == snake[i].x && snake[0].y == snake[i].y){
                reset();
                break;
            }
        }
        //collision with food
        if(head.hitTestObject(gFood)){
            score += 1;
            removeChild(gFood);
            addFood();
            var bodyPart;
            if(score%2==0){
                bodyPart = new Food();
            }else{
                bodyPart = new SnakePart();
            }
            bodyPart.x = snake[snake.length - 10].x;
            bodyPart.y = snake[snake.length - 10].y;
            snake.push(bodyPart);
            addChild(bodyPart);
        }
        //display scores
        txtScore.text = String(score);
    }
}
包{
导入flash.display.MovieClip;
导入flash.events.KeyboardEvent;
导入flash.ui.Keyboard;
import flash.events.Event;//用于输入帧事件
公共类Main扩展了MovieClip{
常数速度:int=20;//蛇的速度
var评分:int;
var-vx:int;
变量vy:int;
变压头:蛇形部;
var gFood;
变量蛇行方向:字符串;
var-snake:数组;
公共功能Main(){
init();
}
函数init():void{
//初始化一切!
vx=1;vy=0;
得分=1分;
snake=新数组();
蛇形方向=”;
//在舞台上添加食物
添加食物();
//在舞台上增加蛇头
头部=新的蛇形零件();
头部x=舞台宽度/2;
head.y=stage.stageHeight/2;
蛇。推(头);
addChild(负责人);
stage.addEventListener(KeyboardEvent.KEY\u UP,onKeyUp);
stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeyDown);
addEventListener(Event.ENTER_FRAME,onEnterFrame);
//输入帧侦听器附加到主类,而不是直接附加到舞台
}
//此功能将为舞台添加食物
函数addFood():void{
如果(分数%2==0){
gFood=新的蛇形零件();
}否则{
绿色食品=新食品();
}
gFood.x=50+Math.random()*(stage.stageWidth-100);
gFood.y=50+Math.random()*(stage.stageHeight-100);
addChild(gFood);
}
//此功能将重置游戏
函数重置():void{
removeChild(gFood);
添加食物();
头部x=舞台宽度/2;
head.y=stage.stageHeight/2;
vx=1;vy=0;
对于(变量i=snake.length-1;i>0;--i){
removeChild(snake[i]);
snake.拼接(i,1);
}
}
函数onKeyDown(事件:KeyboardEvent):无效{
if(event.keyCode==Keyboard.LEFT){
SnakeDirection=“左”;
}else if(event.keyCode==Keyboard.RIGHT){
SnakeDirection=“右”;
}else if(event.keyCode==Keyboard.UP){
SnakeDirection=“向上”;
}else if(event.keyCode==Keyboard.DOWN){
SnakeDirection=“向下”;
}
}
函数onKeyUp(事件:KeyboardEvent):无效{
if(event.keyCode==Keyboard.LEFT){
蛇形方向=”;
}else if(event.keyCode==Keyboard.RIGHT){
蛇形方向=”;
}else if(event.keyCode==Keyboard.UP){
蛇形方向=”;
}else if(event.keyCode==Keyboard.DOWN){
蛇形方向=”;
}
}
函数onEnterFrame(事件:事件):void{
//设定速度方向
如果(蛇行方向==“左”&&vx!=1){
vx=-1;
vy=0;
//头部旋转(-90);
}否则如果(蛇行方向==“右”&&vx!=-1){
vx=1;
vy=0;
}否则如果(蛇行方向=“向上”&&vy!=1){
vx=0;
vy=-1;
}否则如果(蛇行方向==“向下”&&vy!=-1){
vx=0;
vy=1;
}
//与舞台的碰撞
if(head.x-head.width/2=stage.stageWidth){
得分=0;
重置();
}
if(头部y-头部高度/2=舞台高度){
得分=0;
重置();
}
//移动蛇身
对于(变量i=snake.length-1;i>0;--i){
snake[i].x=snake[i-1].x;
snake[i].y=snake[i-1].y;
}
//改变蛇头的位置
头部x+=vx*速度;
水头y+=vy*速度;
//撞尾
对于(变量i=snake.length-1;i>=1;--i){
if(snake[0].x==snake[i].x&&snake[0].y==snake[i].y){
重置();
打破
}
}
//与食物的碰撞
if(head.hitTestObject(gFood)){
分数+=1;
removeChild(gFood);
添加食物();
体部变异;
如果(分数%2==0){
身体部位=新食物();
}否则{
车身部件=新的蛇形部件();
}
bodyPart.x=snake[snake.length-10].x;
bodyPart.y=snake[snake.length-10].y;
蛇。推(身体部分);
addChild(身体部分);
}
//显示分数
txtScore.text=字符串(分数);
}
}
}


随便问吧

根据我们的谈话,这似乎是解决办法

  • 对于字体,请找到动态的文本字段,并在“属性”面板中选择“嵌入”,然后检查需要嵌入的字符,否则它们可能不会在运行时显示

  • 运行时1010错误,在onEnterFrame方法中似乎有一个空参数:head、stage、snake或txtScore

  • 建议安装flash player debug,以准确告知错误所在的行:

    第一件事第一。。。安装播放器的flash调试版本,以便获得运行时错误的确切信息。()然后发布错误的输出,以便更容易看到问题所在。看起来在onEnterFrame方法中有一个null参数,