• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-10-2005, 12:13   #136 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Zitat:
Zitat von André Michelle
Das ist toll !
Ja, nicht !

Zitat:
Zitat von André Michelle
Was ist eigentlich mit der Security los ?
Das grenzt an Wahnsinn, dass ich keine 3 Zeilen mehr schreiben kann ohne wieder in den Sandkasten geschickt zu werden.

Diese Meldung kommt, wenn ich im Code vom letzten Beitrag noch den Loader sichtbar mache (addChild(Loader)) und dann einen Rechtsklick(!) auf das Bild mache. Das langweilt mich. Muss das alles so sein ?
Ja, das Problem habe ich auch, wenn ich Bilder lade. Ich hatte schon gedacht, dass ein Serverscript der Grund dafür ist, aber wenn das jetzt bei dir auch passiert, scheint es wohl was anderes zu sein.

Zitat:
Über das Key.isDown habe ich auch nochmal nachgedacht. Ich kann doch auch mit den Listenern einen User ausspannen. Alles eine Sache des Focus.
Deswegen ist der Focus zu Beginn nicht auf dem SWF, bzw. kann auch nicht im SWF und im Browser gleichzeitig sein.

mfg. r
bokel ist offline   Mit Zitat antworten
Alt 27-10-2005, 17:29   #137 (permalink)
LiquidFrames
 
Registriert seit: Jun 2003
Beiträge: 412
habs mal bei mir getestet (mit addChild) ..er meckert nit...:S
Hugo1of2 ist offline   Mit Zitat antworten
Alt 27-10-2005, 19:50   #138 (permalink)
[+]
 
Benutzerbild von André Michelle
 
Registriert seit: Dec 2002
Ort: cologne
Beiträge: 2.271
So 'richtig' glücklich bin ich mit der Performance noch nicht. Ich weiss ja nicht, wie der Player seine Resourcen verteilt, aber eine Menge Zeugs vom Player benutze ich wahrscheinlich nie.

Hier ein wavemap beispiel auf 80 x 80 (8.5 Player)

Die ganzen neuen Experimente sind ja nett, aber für nichts zu gebrauchen. Die meisten sind eh sehr klein und trotzdem nicht flott. Ich spreche jetzt nur von dem ganzen selbstgepixelten Zeugs. Das man mit der Performance noch andere tolle Sachen möglich sind, wenn ich zum Beispiel an physikalische Simulationen denke (Rigid Bodies, etc...), ist klar. Nur mal so in den Raum geworfen.

Code:
// compiler parameters:
// -default-size 80 80 -default-frame-rate 80

package
{
	import flash.util.trace;
	import flash.util.getTimer;
	
	import flash.display.*;
	import flash.events.*;
	import flash.geom.*;
	
	public class Wavemap extends MovieClip
	{
		//-- map size
		private const xMax: int = 80;
		private const yMax: int = 80;
		
		//-- 2 wavemaps over time
		private var wave0: Array;
		private var wave1: Array;
		
		private var mouseDown: Boolean;
		
		private const origin: Point = new Point();
		
		//-- off-/online bitmap
		private var output: BitmapData;
		private var buffer: BitmapData;
		
		//-- fps
		private var fpsText: TextField;
		private var fr: int;
		private var ms: int;
		
		public function Wavemap()
		{
			stage.scaleMode = 'noScale';
			
			initMap();
			
			buffer = new BitmapData( xMax, yMax, false, 0xffffff );
			output = new BitmapData( xMax, yMax, false, 0xffffff );
			addChild( new Bitmap( output ) );
			
			fpsText = new TextField();
			fpsText.autoSize = 'left';
			addChild( fpsText );
		}
		
		private function initMap(): Void
		{
			wave0 = new Array();
			wave1 = new Array();
			
			var x: int;
			var w0: Array;
			var w1: Array;
			
			for( var y: int = 0 ; y < yMax ; y++ )
			{
				w0 = wave0[y] = [];
				w1 = wave1[y] = [];
				
				for( x = 0 ; x < xMax ; x++ )
				{
					//-- fill with zero
					w0[x] = w1[x] = 0;
				}
			}
			
			//-- inject events
			stage.addEventListener( 'enterFrame', updateWave );
			stage.addEventListener( 'mouseDown', onMouseDown );
			stage.addEventListener( 'mouseUp', onMouseUp );
			
			//-- init fps
			ms = getTimer();
			fr = 0;
			
			mouseDown = false;
		}
		
		private function onMouseDown( event: Event ): Void
		{
			mouseDown = true;
		}
		
		private function onMouseUp( event: Event ): Void
		{
			mouseDown = false;
		}
	
		private function updateWave( event:Event ): Void
		{
			if( mouseDown )
			{
				// trigger wave
				var mx: int = mouseX | 0;
				var my: int = mouseY | 0;
				
				if( mx > 0 && mx < xMax - 1 && my > 0 && my < yMax - 1 )
				{
					wave0[my][mx | 0] = 0xffffff;
				}
			}
			
			var x: int;
			var y: int = yMax - 1;
			var n: int;
			var c: int;
			
			//-- save performance
			var wy0: Array;
			var wy1: Array;

			while( --y )
			{
				x = xMax - 1;
				
				wy0 = wave0[y];
				wy1 = wave1[y];
				
				while( --x )
				{
					//-- wave kernel
					n = ((
							wy0[x-1] +
							wy0[x+1] +
							wave0[y-1][x] +
							wave0[y+1][x] ) >> 1 ) - wy1[x];

					//-- damp the wave
					wy1[x] = n = n - ( n >> 5 );
					
					// clamp between (0,0xff)
					c = ( n + 0xffffff ) >> 17;
					
					//-- draw result
					buffer.setPixel( x, y, c << 16 | c << 8 | c );
				}
			}
			
			//-- flip
			var wt: Array = wave0;
			wave0 = wave1;
			wave1 = wt;
			
			//-- fps
			fr++;
			if( ms + 1000 < getTimer() )
			{
				fpsText.text = fr.toString();
				fr = 0;
				ms = getTimer();
			}
			
			//-- copy to output
			output.copyPixels( buffer, output.rectangle, origin );
		}
	}
}
__________________
aM

blog | laboratory | tonfall | processing

Audiotool.com
André Michelle ist offline   Mit Zitat antworten
Alt 28-10-2005, 23:57   #139 (permalink)
Uncle Rico
 
Registriert seit: Aug 2003
Ort: Köln
Beiträge: 196
Hat jemand eine guten Tip, wie man die Skalierung des Films ausschaltet und auf absolute Werte setzt?
Liegt das Template für die erzeugte HTML Seite vielleicht irgendwo im Plugin Verzeichnis?

Und nochwas: -optimize steht laut Doku per default auf false ! Was genau wird optimiert, wenn ich -optimize=true angebe?
Karuma ist offline   Mit Zitat antworten
Alt 29-10-2005, 00:07   #140 (permalink)
poke
 
Registriert seit: Dec 2002
Ort: Iserlohn [NRW]
Beiträge: 2.304
Skalierung über die Stage Referenz des DisplayObjects ändern..
pokepika ist offline   Mit Zitat antworten
Alt 29-10-2005, 00:20   #141 (permalink)
Uncle Rico
 
Registriert seit: Aug 2003
Ort: Köln
Beiträge: 196
Vielen Dank für die schnelle Antwort -> funktioniert bestens !!!
Karuma ist offline   Mit Zitat antworten
Alt 01-11-2005, 11:25   #142 (permalink)
jhw
Neuer User
 
Registriert seit: Oct 2005
Beiträge: 18
Mit der Einführung der DisplayList hatte ich gehofft, dass der ENTER_FRAME Event der DisplayObjects auch nur dann aufgerufen wird, wenn diese sich innerhalb der DisplayList befinden. Dem ist leider nicht so. Auch wenn sich das manchmal als praktisch erweisen könnte, wäre es mir andersherum trotzdem lieber gewesen.
jhw ist offline   Mit Zitat antworten
Alt 01-11-2005, 16:19   #143 (permalink)
[+]
 
Benutzerbild von André Michelle
 
Registriert seit: Dec 2002
Ort: cologne
Beiträge: 2.271
Wie bekomme ich den Debugger im Standalone zum Laufen ?

Beim Öffnen möchte er einen Host zum Debuggen haben, den ich ihm nicht liefern kann. der Umweg über den Browser ist mir auf die Dauer zu blöd und dauert zu lange...

Muss da im Hintergrund noch was gestartet werden ?
__________________
aM

blog | laboratory | tonfall | processing

Audiotool.com
André Michelle ist offline   Mit Zitat antworten
Alt 01-11-2005, 16:21   #144 (permalink)
[+]
 
Benutzerbild von André Michelle
 
Registriert seit: Dec 2002
Ort: cologne
Beiträge: 2.271
Plötztlich gehts. Na super !
__________________
aM

blog | laboratory | tonfall | processing

Audiotool.com
André Michelle ist offline   Mit Zitat antworten
Alt 01-11-2005, 21:31   #145 (permalink)
Neuer User
 
Benutzerbild von v0id
 
Registriert seit: Oct 2002
Ort: München
Beiträge: 1.582
Hat jemand von euch eigentlich schonmal DisplayObject.mask verwendet?
Ich komm da irgendwie auf keinen grünen Zweig, keine Fehlermeldung, aber
nichts wird maskiert
v0id ist offline   Mit Zitat antworten
Alt 02-11-2005, 13:00   #146 (permalink)
[+]
 
Benutzerbild von André Michelle
 
Registriert seit: Dec 2002
Ort: cologne
Beiträge: 2.271
Ich habe seltsame neue Erkenntnisse der Performance wegen.
Vielleicht liegt es daran, dass die neue AVM noch nicht optimiert ist.

Ich versuche gerade, etwas Code zu optimieren und siehe da.
Ausdrücke innerhalb von while oder if Konstrukten sind sehr viel langsamer.

Beispiel:

Code:
var x: Number = 0;
while( x++ < 1000 )
{
	// do something
}

var x: Number = 0;
while( x < 1000 )
{
	x++;
	// do something faster
}

// oder innerhalb von Schleifen

if( ( z = iz * 100 ) < 0 )
{
	// do something
}

z = iz * 100;

if( z < 0 )
{
	// do something faster
}
Die alten Regeln, alles in den Konstrukt reinzupacken was geht, sind nicht schneller, sondern sogar wesentlich langsamer...
__________________
aM

blog | laboratory | tonfall | processing

Audiotool.com
André Michelle ist offline   Mit Zitat antworten
Alt 02-11-2005, 13:51   #147 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 11
ich habe jetzt nicht den ganzen Beitrag verfolgt, eigentlich nur die ersten seiten überflogen, aber hier wird so viel von den veränderungen geredet AS1-AS2-AS3, um up to date oder one step ahead zu sein, hätte ich eine Frage da ich bisher in AS2 nur minimales Wissen habe.

Lohnt es sich jetzt noch ordentlich mit AS2 zu beschäftigen oder sollte man besser direkt auf AS3 setzen?

wenn AS3, wo kann man sich da was zu anschauen, die codebeispiele hier erinnern mich eigentlich eher an JAVA als an AS?

mfg
Hugin ist offline   Mit Zitat antworten
Alt 02-11-2005, 20:46   #148 (permalink)
\x3a\x6f\x29
 
Benutzerbild von [je]
 
Registriert seit: Apr 2004
Ort: paris
Beiträge: 806
Wow Andre! Hammer Tip.
Du hast mir grade 5fps mehr beschert :o)
__________________
joa ebert
http://blog.joa-ebert.com/ - http://www.joa-ebert.com/
[je] ist offline   Mit Zitat antworten
Alt 02-11-2005, 20:51   #149 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
Das ist meiner Meinung nach sowiso ein Fluch, soviel wie möglich in den if / for / while - Konstrukten erledigen zu wollen. Am besten noch an nem Array rumschnibbeln, und seine Länge neu auslesen …
Wenn es soviel langsamer ist, zwingt es vielleicht zu einem besseren Codingstyle.
Dass allerdings ein i++ langsamer ist, naja, man kann nicht alles haben
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 09-11-2005, 16:08   #150 (permalink)
\x3a\x6f\x29
 
Benutzerbild von [je]
 
Registriert seit: Apr 2004
Ort: paris
Beiträge: 806
Nochmal zum Loader Problem.
Hat das irgendjemand gelöst?

Bei mir ging es mal, dann wieder nicht und jetzt kommt der selbe Fehler wie bei euch auch, nachdem ich das in eine zweite Klasse gepackt habe.

[EDIT]
Damit scheint es zu gehen:
var req: URLRequest = new URLRequest( 'bild.jpg' );
req.applicationDomain = new ApplicationDomain( ApplicationDomain.currentDomain );
__________________
joa ebert
http://blog.joa-ebert.com/ - http://www.joa-ebert.com/

Geändert von [je] (09-11-2005 um 20:22 Uhr)
[je] ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:33 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele