首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >第2? 1046行:类型未找到或不是编译时常量: shield

第2? 1046行:类型未找到或不是编译时常量: shield
EN

Stack Overflow用户
提问于 2014-07-16 20:45:31
回答 1查看 69关注 0票数 0

1046:类型未找到或不是编译时常量: shield。我试着做一个射击游戏,但这个错误不断出现。它说错误是第2行,但是第2行没有任何错误!我不明白!

包{

代码语言:javascript
运行
复制
import flash.display.MovieClip;
import flash.events.Event;
import flash.ui.Keyboard;

public class Ship extends MovieClip{

    var velocity:Number;
    var shootLimiter:Number;
    var health:Number;
    var maxHealth:Number; 

        function Ship(){

        velocity = 10;
        shootLimiter = 0;
        health = 100;
        maxHealth = 100;
        addEventListener("enterFrame", move);

    }

    function kill(){

        var explosion = new Explosion();
        stage.addChild(explosion);
        explosion.x = this.x;
        explosion.y = this.y;

        removeEventListener("enterFrame", move);
        this.visible = false;

        Game.gameOver();

    }

    function takeDamage(d){

        health -= d;

        if(health<=0){
            health = 0;
            kill();
        }

        Game.healthMeter.bar.scaleX = health/maxHealth;

    }

    function move(e:Event){

        shootLimiter += 1;

        if(Key.isDown(Keyboard.D)){
            this.x = this.x + velocity;
        }
        if(Key.isDown(Keyboard.A)){
            this.x = this.x - velocity;
        }
        if(Key.isDown(Keyboard.W)){
            this.y = this.y - velocity;
        }
        if(Key.isDown(Keyboard.S)){
            this.y = this.y + velocity;
        }
        if(Key.isDown(Keyboard.SPACE) && shootLimiter > 8){
            shootLimiter = 0;
            var b = new Bullet();
            stage.addChild(b);
            b.x = this.x + 50;
            b.y = this.y + 3;
        }

        if(shield.visible == true){
            shield.alpha -= 0.0005;
            if(shield.alpha == 0){
                shield.visible = false;
                shield.alpha = 1;
            }
        }

    } 

}

}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-17 07:58:52

在此:

代码语言:javascript
运行
复制
    if(shield.visible == true){
        shield.alpha -= 0.0005;
        if(shield.alpha == 0){
            shield.visible = false;
            shield.alpha = 1;
        }
    }

您使用的是变量“屏蔽”,而不声明/实例化它。这不是我希望看到的关于这个问题的错误信息,但它是一个问题。

“船”是用来扩展拥有财产“盾牌”的东西吗?您是从另一个来源复制而忘记包含它吗?你所写的代码不完整吗?(可能导致这种情况的几种情况。)

不管怎么说,你得把这个修好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24790366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档