Překladatel
Kategorie
Archiv

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 ();
			 )
               ...
      )