Zurück   Flashforum > Flash > ActionScript > Spielkonzepte und Spieleprogrammierung

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-11-2008, 09:54   #1 (permalink)
Haaajmo Bosno!!!
 
Benutzerbild von mirzahat
 
Registriert seit: Aug 2001
Ort: Bihać
Beiträge: 692
Hässliche Collision Detection, was soll ich tun?

Hallo,

ich habe also meine SWF hier.

Wie man sehen kann ist die Coll. Detection an der Wand ziemlich schlecht, es geht also über der Wand. Es soll eine Wand darstellen, nicht Gummi. :-)

Hier ist mein Code für den Ball:

Code:
package classes {

	import flash.display.*;
	import flash.events.*;


	public class Ball extends MovieClip{

		private var _strength:Number = 0;
		private var xmov = 20;
		private var gravity = 2;
		private var u = .2;
		private var accel;

		private var _radius:Number = 0;

		private var _rightWall:MovieClip = null;
		private var _leftWall:MovieClip = null;
           
		function Ball(){
		}

		public function run(strenght:Number, dir:Number):void {
			
			_strength = strenght;
			this.addEventListener(Event.ENTER_FRAME, enterFrame);

			accel = u * gravity;

			_radius = this.width / 2;

		}

		function enterFrame(e:Event):void {

			if (Math.abs(xmov)>=Math.abs(accel)) {

				if (xmov>0) {
					xmov -= accel;
				} else if (xmov<0) {
					xmov += accel;
				}

			} else {
				xmov = 0;
			}

			if(this.x + _radius >= _rightWall.x){
				xmov *= -1;
			}

			if(this.x - _radius <= _leftWall.x){
				xmov *= -1;
			}

			this.x += xmov;
			
		}

		public function set rightWall(e:MovieClip):void {
			_rightWall = e;
		}

		public function get rightWall():MovieClip {
			return _rightWall;
		}

		public function set leftWall(e:MovieClip):void {
			_leftWall = e;
		}

		public function get leftWall():MovieClip {
			return _leftWall;
		}

	}

}
Was kann ich also hier verbessern?

Gruss,
Mirza
mirzahat ist offline   Mit Zitat antworten
Alt 11-11-2008, 10:20   #2 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Du musst bei der Abfrage der Wand, die neue Position nehmen und nicht die aktuelle!
*zack-doing*
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 11-11-2008, 10:49   #3 (permalink)
Haaajmo Bosno!!!
 
Benutzerbild von mirzahat
 
Registriert seit: Aug 2001
Ort: Bihać
Beiträge: 692
Danke, das ist es :-)
mirzahat 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:17 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele