Re: [問題] flash 全景效果

看板Flash作者 (阿信163)時間12年前 (2011/12/05 23:19), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
※ 引述《sunnyeva (一蓑煙雨任平生)》之銘言: : 大家好 : 我是flash新手 還很嫩 只會比較基礎的動畫跟一點點AS : 最近想要做180度的全景效果 : 類似以下這個範例 : http://flash.xoboss.com/flash/original1.html : 但是google了很多教學 : 還是不太了解 : 請問有人可以提供詳細一點的作法嗎? : 另外問這個一定要用很多action script嗎? : 有沒有更適合初學者理解 例如用動畫的觀念去做的呢? : 懇請板上前輩們解答 謝謝!! 簡單的方法也是有的 只要將兩張一樣的圖頭尾接在一起 然後兩張圖同時往右邊做移動補間動畫 只要移到第二張圖的位置跟第一張圖一開始的位置一樣即可 接下來重覆播放就會一直不斷重覆出現 不過這個的缺點是因為最後一格跟第一格的畫面是重疊的,會感覺瞬間頓了一下 這時候只要在最後一格加上 gotoAndPlay(2); 跳過第一格,直接從第二格開始播,這樣子就會很順的一直往右播然後不間斷 如果是要能夠搭配滑鼠位置來做往左或往右播 則把上面從 2 張一前一後改成 3 張一前一中一後 如果滑鼠位置大於場景一半則往右播,小於場景位置一半則往左播 原始檔:http://www.megaupload.com/?d=NORBQ9KJ 程式碼大致如下: //註冊 enterframe 事件 this.addEventListener(Event.ENTER_FRAME, slideEnterFrame); function slideEnterFrame(e:Event):void { //如果滑鼠的位置大於場景一半寬度 if(mouseX > stage.stageWidth / 2){ //圖往右邊跑,若目前播放影格到最後一格,則從第 2 格開始播 if(this.currentFrame == this.totalFrames){ this.gotoAndStop(2); }else{ this.nextFrame(); } }else{ //如果滑鼠位置場景小於場景的一半寬度 //如果目前影格數大於第 2 格,則往前播一格 //如果目前影格已經播放到第 2 格,則讓它跳至最後一格 if(this.currentFrame > 2){ this.prevFrame(); }else{ this.gotoAndStop(this.totalFrames); } } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.83.114
文章代碼(AID): #1EtE3hp6 (Flash)