Adobe Flash游戏编程

时间:2013-05-22 11:01:20

标签: actionscript-3 flash

我正在使用Adobe Flash编写一个球类游戏,Javascript 3,我在第113行(最后一行)收到错误消息:

  

1087:语法错误:在程序结束后找到额外的字符。

package
{
import flash.display.MovieClip
import flash.text.TextField
import flash.events.Event
import flash.events.MouseEvent

public class DocumentMain extends MovieClip
{   
    public const GRAVITY:Number = 2;
    public const BOUNCE_FACTOR:Number = 0.8;

    public var _bounces:TextField;
    public var _highscore:TextField;
    public var _ball:Ball;

    private var _vx:Number;
    private var _vy:Number;


    public function DocumentMain():void
    {
        _vx = 10;
        _vy = 0;

        _ball.buttonMode = true;

        addEventListener(Event.ENTER_FRAME, enterFrameHandler);
        addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
    }

    private function enterFrameHandler(e:Event):void
    {
        // gravitate the ball 
        _vy += GRAVITY;

        // move the ball
        _ball.x += _vx;
        _ball.y += _vy;

        // check boundaries for collusion 
        checkBoundaryCollisions();
    }

    private function mouseDownHandler(e:MouseEvent):void
    {
        //hit the ball if it has been clicked
        if (e.target == _ball)
        {
            hit(e.target.mouseX, e.target.mouseY);
        }
    }
    private function checkBoundaryCollisions():void
    {
        var left:Number;
        var right:Number;
        var bottom:Number;
        var top:Number;

        left = _ball.x - (_ball.width / 2);
        right = _ball.x + (_ball.width / 2);
        bottom = _ball.y + (_ball.height / 2);
        top = _ball.y - (_ball.height / 2);

        if (left < 0 && _vx < 0)
        {
            _ball.x = _ball.width / 2;
            _vx *= -1;
        }
        else if (right > stage.stageWidth && _vx > 0)
        {
            _ball.x = stage.stageWidth - (_ball.width / 2);
            _vx *= -1;
        }
        if (top < 0 && _vy < 0)
        {
            _ball.y = _ball.height / 2;
            _vy *= -1;
        }
        else if (bottom > stage.stageHeight && _vy > 0)
        {
            _ball.y = stage.stageHeight - (_ball.height / 2);
            _vy *= -BOUNCE_FACTOR;
            _vx *= BOUNCE_FACTOR;

            if (Number(_bounces.text) > Number(_highscore.text)) 
            {
                _highscore.text = _bounce.text;
            }
             _bounces.text = "0";
        }
    }   

    private function hit(hitX:Number, hitY:Number):void
    {
        //increment bounces 
        _bounces.text = String.(Number(_bounces.text) + 1);
        //adjust the vertical velocity of the ball
        if (_vy > 0)
        {
            _vy *= -BOUNCE_FACTOR / 2 ;
        }
            _vy -= HIT_FORCE;

        //adjust the horizontaly velocity of the ball
        if (_vx * hitX > 0)
        {
            _vx *= -BOUNCE_FACTOR;
        }

            _vx -= ( 2 * hitX / _ball.width) * HIT_FORCE;
        }
        }
        }
         }

1 个答案:

答案 0 :(得分:0)

摆脱最后一个大括号}。你在文件的末尾有太多了。 我也认为你的意思是Actionscript 3。