Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17-06-2010, 09:25   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2010
Beiträge: 1
Collision Detection Problem

Hallo,

ich hab ein Problem mit der Collision Detection bei meinem Buzzwire-Spiel (Heißer Draht). Die Collision Detection funktioniert im Full Screen nur teilweise, nur der linke Teil eines Objektes(Kreis) wird als Kollision erkannt. Die rechte Seite des Objektes leider nicht. Verlässt man jedoch den Fullscreen funktioniert die Detection einwandfrei. Skaliert man die Auflösung jedoch nach oben tritt der Fehler wieder auf je nach größe des Fensters wird die Kollision früher oder später erkannt. Je größer das Fenster ist desto schlechter funktioniert die Kollision.
Ich arbeite mit dem Flex Builder und lade mit dem swfloader die Stages.

Code:
private function init():void{
				stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
				dataXML=new GetXml(10000,stage.stageWidth/2, stage.stageHeight/2);
				dataXML.addEventListener(ScreenEvent.POINT_EVENT, getScreen);
				loadSWFContent();		
				gameContainer.addEventListener(Event.ENTER_FRAME, updateScene);
				initCDK();
				ballIsOk=true;
				
				timer=new Timer(2000,1);
				timer.addEventListener(TimerEvent.TIMER,reset,false,0,true);
			}	
			
			private function loadSWFContent():void {
				//Inhalte der SWF laden
				gameContainer=MovieClip(wireSwf.content);
				//Variablen zeigen auf Instanzen der SWF Datei
				ball=gameContainer.ball;
				bulb=gameContainer.bulb;
				hand=gameContainer.hand;
				
				wire=gameContainer.wire;
				wire2=gameContainer.wire2;
				wire3=gameContainer.wire3;
				wire4=gameContainer.wire4;
				
				finish=gameContainer.finish;
				swfHeight=gameContainer.height;
				swfWidth=gameContainer.width;
			}	
			
			public function getScreen(evt:ScreenEvent):void{		
				if(!ballIsOk){
					bulb.alpha=1;
					//ball.x=370;
					//ball.y=250;
					counter++;
					Application.application.status=counter;
				}
				else{
					bulb.alpha=0.3;
					ball.x=evt.myScreenArray[0];
					ball.y=evt.myScreenArray[2]*-3+800;
					hand.x=ball.x-48;
					hand.y=ball.y+78;
				}	
			}
			
			private function initCDK():void {
				//Collision Detection - CollisionList - einer gegen alle
				collisionList=new CollisionList(ball);
				collisionList.addItem(wire);
				collisionList.addItem(finish);
			}	
			
			private function updateScene(e:Event):void {
				var collisions:Array=collisionList.checkCollisions();
				if (collisions.length) {
					var collision:Object=collisions[0];
					var angle:Number=collision.angle;
					var overlap:int=collision.overlapping.length;
					ballIsOk=true;
					trace("collision.object1.name " + collision.object1.name);
					trace("collision.object2.name " + collision.object2.name);
					timer.start();
					if(collision.object2.name=="finish"){
					//txtColl.text="Finish!";
	
}
				trace("hit");					
				}
				else{
					bulb.alpha=1;
					//ballIsOk=false;
				}
			}	
			
			private function reset(e:TimerEvent):void{
				ballIsOk=true;
				trace("this is the timer");
			}





Danke Tommy

Geändert von tomyh (17-06-2010 um 09:29 Uhr)
tomyh 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Collision Detection Probleme mirzahat ActionScript 3 2 28-05-2010 02:22
AS2: Collision Detection mit Quadtree Padde85 Flash CS3 Professional 3 26-04-2010 17:52
massen collision detection _kweso ActionScript 3 7 26-03-2010 12:57
Collision Detection FLASHStyler ActionScript 3 2 03-09-2008 22:13
** Collision Detection ** powl ActionScript 1 7 31-01-2003 11:33


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:21 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele