最近无聊把一堆东西移植到这个2D框架上, 这次是条带效果~~ 条带代码来自 ?@朝朝姐夫 做了些修改
和之前模型一样,还是已扩展类的形式存在,并且可以参与Starling的深度排序,坐标定位,缩放等
效果预览,移动鼠标即可
首先创建一个名为 RibbonTest 类 继承自 Starling 的 DisplayObject
[cc lang=”actionscript3″]
public class RibbonTest extends DisplayObject
public function RibbonTest(speed:Number = 0.1, detailLevel:uint = 10, width:uint = 1)
{
super();
this.speed = speed;
this.touchable = false;
ribbonWidth = width;
controlPoints = new Vector.
for(var i:Number = 0;i < detailLevel; i++)
{
controlPoints.push(new Vector3D(0, 0, 0));
}
vertexList = new Vector.
rawPositionsBuffer=new Vector.
rawUvBuffer=new Vector.
rawIndexBuffer=new Vector.
createRibbon();
createProgram();
createBuffer();
}
[/cc]
构造函数中 speed 为缓动的速度,后面会用到经典的缓动公式 (end-start)/speed;
detailLevel 控制点数量,控制点越多条带在转交的效果越细致