作者cjcat2266 (CJ Cat)
看板Flash
标题[研究] Carousel - 旋转木马API
时间Mon Aug 4 21:52:36 2008
因为工作的需求,所以我做了这个API出来
(到大阪玩还要连夜赶工啊...orz)
大家应该常常需要写类似"旋转选单"的东西
於是我就综合了一些常用功能,生出一个Carousel API
先来看看Carousel的范例吧
线上观看
http://0rz.tw/3f4y6
原始档案
http://0rz.tw/9e4zb
Carousel的简单使用说明如下:
(产生十个Ball物件绕着Box物件旋转)
1.生出一个旋转木马(Carousel)物件
import idv.cjcat.display.carousel.*;
var carousel:Carousel = new Carousel();
2.生出小马(Pony)物件
var count:int = 10;
for (var i:int = 0; i < count; i++) {
var pony:Pony = new Pony(new Ball(), 2 * Math.PI / count *i);
↑小马外表 ↑小马相位(phase)
carousel.add(pony);
}
3.设定轴心物件(axis)
carousel.axis = new Box();
4.设定旋转木马的一些参数
carousel.centerX = 320; //中心x座标
carousel.centerY = 200; //中心y座标
carousel.radiusX = 200; //横向半径
carousel.radiusY = 75; //纵向半径
carousel.centerS = 0.7; //尺寸(scale)变化中心值
carousel.radiusS = 0.3; //尺寸变化幅度
carousel.centerA = 0.5; //同centerS,只是此为透明度(alpha)的中心值
carousel.radiusA = 0.7; //同radiusS,只是此为透明度的变化幅度
carousel.centerR = 0; //旋转角度(rotation)中心值
carousel.radiusR = 90; //旋转角度变化幅度
5.持续呼叫carousel.render()来更新
并且在render之前做想做的调整动作
addChild(carousel); //不要忘记将carousel加入到display list中唷
addEventListener(Event.ENTER_FRAME, render);
function render(e:Event):void {
carousel.phase = getTimer() / 300; //中心参考相位持续改变
carousel.render(); //更新carousel
}
6.完成
就是这样
以上
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凯特 = 蜚蠊猫 = 蟑螂猫
Blog
http://cjcat.blogspot.com
Gallery
http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比闪光(Adobe Flash)研讨区
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.202.223.3
1F:推 etrexetrex:旋转木马是这样上下的哦 0.0 我以为是分开上下 08/05 01:31
2F:推 scars:另外就是 startDrag 一次只能一个物件 08/05 03:59
3F:→ scars:所以用 startDrag 的话,换了游标之後就不能再去拖曳其他东西 08/05 04:00
4F:推 scars:.........我推错 08/05 18:27