actionscript循环整个图形移动为什么?

actionscript循环整个图形移动为什么?,actionscript,Actionscript,首先绘制的圆也会移动。我怎样才能阻止它这样做呢?你认为你在使用你的公共静态x&y值,但实际上你在使用精灵内置的x和y属性来控制它在舞台上的位置。使用y++和x++时,会将整个精灵向下/向右移动 您应该确保总是调用helloworld.x&&helloworld.y(坏主意,容易忘记) 或 您不应该使用名为x和y的变量。试试:circleX和circleY或者更能说明您使用它的目的的东西 package { import flash.display.Sprite; import fl

首先绘制的圆也会移动。我怎样才能阻止它这样做呢?

你认为你在使用你的
公共静态x&y
值,但实际上你在使用精灵内置的
x
y
属性来控制它在舞台上的位置。使用
y++
x++
时,会将整个精灵向下/向右移动

您应该确保总是调用
helloworld.x
&&
helloworld.y
(坏主意,容易忘记)

您不应该使用名为
x
y
的变量。试试:
circleX
circleY
或者更能说明您使用它的目的的东西

  package {

  import flash.display.Sprite;
  import flash.events.Event;
  import flash.events.KeyboardEvent;
  import flash.ui.Keyboard;

    public class helloworld extends Sprite {

    public static var x:int = 0;
    public static var y:int = 0;

    public function helloworld() {

      graphics.lineStyle(1, 0, 1);
           stage.focus = this;
           stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);   
    }   

      private function onKeyDown(event:KeyboardEvent):void {

   if (event.keyCode == Keyboard.DOWN)
    {
      y++;
      graphics.moveTo(x,y);
          graphics.drawCircle(x, y, 10);
    }

  if (event.keyCode == Keyboard.RIGHT)
    {
      x++;
      graphics.moveTo(x,y);
          graphics.drawCircle(x, y, 10);
    } 

  }
}