Archiv pro červenec, 2007
ActionScript 3.0 Memory Management
Správa paměti kód přímo z člověka na gskinner.com.
import flash.system.System, import flash.net.navigateToURL, import flash.net.URLRequest, ... / / Podívejte se do našeho paměti každou 1 sekundu: var checkMemoryIntervalID: uint = setInterval (checkMemoryUsage, 1000); ... var showWarning : Logická hodnota = true; var warningMemory: uint = 1000 * 1000 * 500; var abortMemory: uint = 1000 * 1000 * 625, ... funkce checkMemoryUsage () (if (System.totalMemory> warningMemory & & showWarning) (/ / show Chyba na uživatele varování je, že jsme nedostatek paměti a mohl by skončit / / zkuste uvolnit paměť pokud je to možné showWarning = false; / /, takže nemáme show chybu každý druhý) else if (System.totalMemory> abortMemory) (/ / Uloží aktuální uživatelských dat na LSO k využití později? zrušit ();)) funkce abort () (/ / poslat uživatele na stránku, vysvětluje, co happpened: navigateToURL (nové URLRequest ("memoryError.html") );) Můžete si najít jiné tipy management systému gskinner.com
AS3 Dynamické Alpha Gradient maska
V procesu vytváření obrazu galerii v AS3, běžel jsem přes tuto zajímavou chybu.
1118: Implicit coercion of a value with static type flash.display:DisplayObject to a possibly unrelated type flash.display:MovieClip.
Nesprávný kód:
public class ImageGallery rozšiřuje komponenty ( soukromé var ldrData: URLLoader; soukromé var Počet: uint; var majitel: MovieClip; var myMask: MovieClip; veřejné funkce ImageGallery () ( count = 0; myMask = new MovieClip (); Držitel = new MovieClip (); addChild (držitel); holder.x = 50; holder.y = 0; myMask = addChild (nové mask_mc ()); holder.cacheAsBitmap = true; myMask.cacheAsBitmap = true; holder.mask = myMask; if (this.stage! = null) ( / / Master.SetParameter ("ModelId", "100") this.Initialize (); ) ) ... )
Oprava této chyby byla jednoduchá. Při prohlašování myMask = addChild (nové mask_mc ()), můžete volit ve proměnnou používají "jako MovieClip" problém opravit.
Opraveno kód:
public class ImageGallery rozšiřuje komponenty ( soukromé var ldrData: URLLoader; soukromé var Počet: uint; var majitel: MovieClip; var myMask: MovieClip; veřejné funkce ImageGallery () ( count = 0; myMask = new MovieClip (); Držitel = new MovieClip (); addChild (držitel); holder.x = 50; holder.y = 0; myMask = addChild (nové mask_mc ()) jako MovieClip; holder.cacheAsBitmap = true; myMask.cacheAsBitmap = true; holder.mask = myMask; if (this.stage! = null) ( / / Master.SetParameter ("ModelId", "100") this.Initialize (); ) ... )
