[研究] Carousel - 旋轉木馬API

看板Flash作者 (CJ Cat)時間17年前 (2008/08/04 21:52), 編輯推噓3(301)
留言4則, 2人參與, 最新討論串1/2 (看更多)
因為工作的需求,所以我做了這個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

08/05 01:31, , 1F
旋轉木馬是這樣上下的哦 0.0 我以為是分開上下
08/05 01:31, 1F

08/05 03:59, , 2F
另外就是 startDrag 一次只能一個物件
08/05 03:59, 2F

08/05 04:00, , 3F
所以用 startDrag 的話,換了游標之後就不能再去拖曳其他東西
08/05 04:00, 3F

08/05 18:27, , 4F
.........我推錯
08/05 18:27, 4F
文章代碼(AID): #18bmccEN (Flash)
文章代碼(AID): #18bmccEN (Flash)