昨晚想起了很想用绘图API绘制一把剑,突然脑海又想起了风云当中剑圣使用的“万剑归宗”这些武学招式,想想之后,于是好无聊写了一下,不过不能做到万剑归宗的效果,就省去了一个字。呵呵,很想把学过的知识,把在看到的融合到图形表现上。这样做起来flash 会显得更加有个性一点,可能看起来是一种自娱自乐的东西,不过里面的开心的是把一种已经存在的东西转化为新的东西。
既然万剑归宗,当然不能缺少一把剑。看看绘制一把剑,这把剑采用一种比较笨的方法,记录点的位置转化线条表现上。
第一步:绘制一把剑
把每一个点记录起来,然后大概使用一个数组里面保存。
array:Array=[ [50,0],
[50,50],
[20,50],
[20,60],
[45,60],
[45,300],
[65,330],
[75,300],
[75,60],
[105,60],
[105,50],
[70,50],
[70,0],
[50,0]
];
记录之后,我们就可以对其进行连线,从第一个点开始连接,一个接一点进行连。采用moveTo 和lineTo 常用组合就能连串成每一个点位置
private function init():void
{
addChild(pen);
pen.graphics.lineStyle(1,0x000000);
pen.graphics.moveTo(array[0][0],array[0][1]);
for (var i:int=0; i<array.length; i++)
{
pen.graphics.lineTo(array[i][0],array[i][1]);
}
pen.graphics.drawCircle(60,-11,12);//绘制剑中心
pen.graphics.drawCircle(60,60,14);
pen.graphics.beginFill(0xff00ff);
pen.graphics.drawCircle(60,60,5);
pen.graphics.endFill();
pen.graphics.moveTo(60,60);
pen.graphics.lineTo(65,330);
pen.scaleX=pen.scaleY=0.3;
}
然后为剑添加一些圆和一些线,效果图就是上面那张图片。
第二步:交互操作
实现剑的操作,无非就是复制一系列的对象,然后对其进行分布。实现剑围绕圆分布。
stage.addEventListener(MouseEvent.CLICK,onClick);
private function onClick(event:MouseEvent):void
{
//产生一系列的对象,对其对象进行分布处理,按圆的轨迹进行分布。
}
效果如下图
for (var i:int=0; i<num; i++)
{
var mysword:Sword=new Sword();
contain.addChild(mysword);
mysword.x=mouseX+Math.cos(i*2*Math.PI/num)*150;
mysword.y=mouseY+Math.sin(i*2*Math.PI/num)*150;
list.push(mysword);
var
此文出现源于忽略PNG透明区域的事件(Flex)...
下面是纯as的实现..用的是Loader..帮群里的朋友写的实例
详情的思路什么的就不说了..看上面的地址
效果(左边的PNGLoader加截的png忽略透明,右边的为普通Loader):
< id="swf5645" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="600" height="400" codebase= ......
昨晚想起了一些图案,当时是在小学的时候绘制过的,现在想起记得是TVB教学,当时候记得这种图案叫秀曲线图形。现在今天用flash 绘制一下,效果看起来挺好。而代码非常简单。
基础原理:从一个纵轴开始,划分一系列的点,然后从一点开始,左右进行连线绘制。同时也可以在自己的图案里面进行绘制,当然这种效果 ......