创建sprite 组

创建sprite 组

先创建一个sprite 容器,在容器内绘制一个200×200 的矩形,这个矩形有2 像素的
边框,灰色填充。

var sprite1:Sprite=new Sprite();
sprite1.graphics.lineStyle(2,0x000000);
sprite1.graphics.beginFill(0xcccccc);
sprite1.graphics.drawRect(0,0,200,200);
addChild(sprite1);

sprite1.x = 50;
sprite1.y = 50;     //把这个sprite 容器移动到舞台坐标为(50,50)处

然后,我们再来创建第二个sprite 容器,把它放置在舞台的(300,50)处,在该容器内也
绘制一200×200 的矩形,2 像素边框,灰色填充。代码如下:

var sprite2:Sprite=new Sprite();
sprite2.graphics.lineStyle(2,0x000000);
sprite2.graphics.beginFill(0xcccccc);
sprite2.graphics.drawRect(0,0,200,200);
sprite2.x = 300;
sprite2.y = 50;
addChild(sprite2);

最后,我们来创建第三个sprite 容器,它包含一个圆形,我们把它添加到sprite1 容器内,
并给它一个黑色填充,代码如下:

var sprite3:Sprite=new Sprite();
sprite3.graphics.lineStyle(2,0x000000);
sprite3.graphics.beginFill(0x333333);
sprite3.graphics.drawCircle(0,0,25);
sprite3.x = 0;
sprite3.y = 0;
sprite1.addChild(sprite3);

现在测试影片,我们看到,在舞台上出现了刚才绘制的这三个图形。也发现,我们刚才设置了圆形的坐标为(0,0),但它并没有出
现在舞台坐标的(100,100)处,原因是我们把sprite3 添加到sprite1 后,sprite3 的坐标位置就是相对于sprite1 的注册点的位置了。也就是说,子对象的坐标点是以其父容器为参照对象的。根据上面的这个示例,sprite3 的坐标点(0,0)就是相对于它的这个父容器sprite2 注册点的相对位置。

我们也可以我们在sprite1 和sprite2 中添加侦听函数,当你点击它们之中哪一个,sprite3 就设置为哪个容器的子对象。也就是说,你可以用鼠标点击来控制这个圆形在两个sprite 容器间来回跳转。

sprite1.buttonMode = true;
sprite2.buttonMode = true;

sprite1.addEventListener(MouseEvent.CLICK,clickSprite);
sprite2.addEventListener(MouseEvent.CLICK,clickSprite);
function clickSprite(event:MouseEvent):void
{
 event.currentTarget.addChild(sprite3);
}

posted on 2012-10-03 21:10  God is a girl  阅读(159)  评论(0编辑  收藏  举报

导航