技巧
匀速朝像鼠标移动
var speed:Number = 2;
stage.addEventListener(Event.ENTER_FRAME, moveArrow);
function moveArrow(event : Event) : void
{
var dx:Number=mouseX - arrow.x;
var dy:Number=mouseY - arrow.y;
var radians:Number=Math.atan2(dy,dx);
arrow.rotation=radians * 180 / Math.PI;
arrow.x += speed * Math.cos(radians);
arrow.y += speed * Math.sin(radians);
}
画圆:
graphics.lineStyle(1);
//graphics.beginFill(0xffff00);
graphics.moveTo(100, 100);
stage.addEventListener(Event.ENTER_FRAME, drawCircle);
var i:Number = 0;
function drawCircle(event : Event) : void
{
if( i <= Math.PI * 2 )
{
var dx:Number = 60 + Math.cos(i) * 40;
var dy:Number = 100 + Math.sin(i) * 40;
graphics.lineTo(dx, dy);
i += 0.01;
}
else
{
graphics.endFill();
stage.removeEventListener(Event.ENTER_FRAME, drawCircle);
}
}
旋转箭头:
stage.addEventListener(Event.ENTER_FRAME, rotateArrow);
function rotateArrow(event : Event) : void
{
var dx:Number=mouseX - arrow.x;
var dy:Number=mouseY - arrow.y;
var radians:Number=Math.atan2(dy,dx);
arrow.rotation=radians * 180 / Math.PI;
}
cocos2d版本的旋转箭头:
var line = new cc.Sprite("#color/paint3.png"); line.setAnchorPoint(cc.p(0,0.5)); line.setPosition(p); var dx = p.x - prevp.x; var dy = p.y - prevp.y; var dis = Math.sqrt(dx * dx + dy * dy); var radians = Math.atan2(dx,dy); line.setRotation(radians * 180 / Math.PI + 90); this.clipper.addChild(line); this.lineList.push(line); this.lineNodePosList.push(p); line.setScaleX(dis / line.getContentSize().width);
心跳:
var radians:Number = 0;
var centerScale:Number = 1;
var range:Number = 1;
var speed:Number = 0.3;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
function onEnterFrame(event:Event):void
{
ball.scaleX = ball.scaleY = 1 +Math.sin(radians) * range;
radians += speed;
}

浙公网安备 33010602011771号