簡體   English   中英

ActionScript-3-播放先前創建的MovieClip和Event.ENTER_FRAME之間的區別

[英]ActionScript-3 — difference between playing previously created MovieClip and Event.ENTER_FRAME

我正在創建一個游戲,其中涉及一些台球狀的球在屏幕上反彈。 我創建了一個只有一個代表球的框架的MovieClip,將其導出到類中,將其擴展為我的需要,並使用Event.ENTER_FRAME對其進行了動畫處理。 它可以正常工作,但是有個讓我感到困惑的地方-舞台和球都只有一幀,所以我不太了解Event.ENTER_FRAME的工作原理...我的意思是,如果沒有關鍵幀,動畫如何制作??? 如果使用已經動畫化的MovieClip,則必須添加關鍵幀,對嗎?

Event.ENTER_FRAME與.swf的每秒幀速率有關。 無論MovieClip是否設置動畫,它都會繼續觸發ENTER_FRAME。

它與MovieClip的動畫幀無關,而是與之同步的,因為它綁定到相同的時間間隔,即1000ms / FPS。

因此,通過Event.ENTER_FRAME 編程方式對球進行動畫處理的任何操作都與動畫完全無關

編程動畫和時間軸動畫是兩回事,無論影片剪輯在哪里,代碼都將觸發。 盡管您可以通過ENTER_FRAME事件進行控制,但它與動畫片夾動畫完全無關。

總而言之,Event.ENTER_FRAME應該為您提供一種簡單的方法來創建定時代碼而不是定時時間線動畫。

Flash Player始終根據幀速率播放。 顯示對象是否真正在移動取決於這些對象是否正在偵聽Event.ENTER_FRAME事件處理程序中的指令(通常是重新放置/重繪自己)。 想想Event.ENTER_FRAME事件是一個電源插座,可以在插入對象時為其設置動畫。

在這方面,從框架腳本轉換為實際編程可能會造成混亂。 幀腳本和MovieClip對象通常被視為逐幀序列,至少這是使用Flash Professional IDE的用戶應該相信的,因為從概念上和視覺上都易於理解。

在Flash IDE框架腳本中,似乎可以更好地控制每個框架,並且可以單獨更改這些框架以顯示翻書樣式的逐幀序列(即:將不同的圖像拖放到每個框架中) ),它們也可以進行編程動畫處理(即:補間動畫)。 以編程方式動畫的顯示對象不會像您基於Flash IDE那樣占用越來越多的幀,因為它們只是視覺工具。 AVM2運行時以相同的方式對待框架腳本和打包的代碼。

MovieClip從Sprite對象擴展。 它們基本上是相同的對象,除了Sprite不具有gotoAndStop()之類的功能。如果從幀腳本切換到程序包級編程,則不應該使用MovieClip對象,因為它們既重又實際上無用,請改用Sprite 。

單個幀將針對每個ENTER_FRAME調用進行更新。 像精靈容器一樣。

enterFrame事件是根據您的幀速率觸發的,實際上與movieclips時間軸無關。 影片剪輯時間軸動畫也正是基於幀速率的。 至少,這就是我如何看待它,以使其變得更容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM