Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30-10-2003, 23:06   #1 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
hittest per x und x abfrag + durchmesserwert

also objekt 1 ist ein viereck objekt 2 eine kugel.
bisher hab ich die abfrage so gelöst indem ich die x und y position der kugel innerhalb des vierecks abgefragt haben.
nun möchte ich die abfrage mit berücksichtigung des durchmessers der kugel innerhalb des vierecks abfragen, kann man das mit sin und cos lösen?.
auf jeden fall will ich nicht die hittest funktion von flash benutzen.

Geändert von rib (30-10-2003 um 23:08 Uhr)
rib ist offline   Mit Zitat antworten
Alt 01-11-2003, 18:25   #2 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
hat denn echt keiner hier ne ahnung wie und ob das geht?
rib ist offline   Mit Zitat antworten
Alt 01-11-2003, 19:02   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Ort: Bamberg
Beiträge: 876
sorry aber ich versteh des nich ganz erklär ma genauer oder gib ne fla
wangman ist offline   Mit Zitat antworten
Alt 01-11-2003, 19:42   #4 (permalink)
flashed Dude
 
Benutzerbild von tolleiv
 
Registriert seit: Mar 2002
Ort: _level0
Beiträge: 1.402
hallo

schau mal unter http://www.2-serious.de

nach Kollisionsabfrage -> ein ball in einer [unsichtbaren] box das is wohl das was du willst

mfg
__________________
Die Basis unseres Denkens ist das der Verstand sich selbst erkennt.
Kyle Broslovski


Eigenlob stinkt ~ fast immer
tolleiv ist offline   Mit Zitat antworten
Alt 01-11-2003, 20:56   #5 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
nein eben nicht mit einer box als kollisionsbereicht sondern einen kreisrunden kollisionsbereich.
rib ist offline   Mit Zitat antworten
Alt 02-11-2003, 02:12   #6 (permalink)
flashed Dude
 
Benutzerbild von tolleiv
 
Registriert seit: Mar 2002
Ort: _level0
Beiträge: 1.402
?? haste dir deren beispiel überhaupt angeschaut ??
die arbeiten da mit radius-werten

und bewegen den Ball in einer Box die allerdings im deren Beispiel nicht sichbar ist - schau es dir erstmal an - bzw. benutz die FFSuchfunktion du bist sicherlich nich der erste der sowas fragt

mfg
__________________
Die Basis unseres Denkens ist das der Verstand sich selbst erkennt.
Kyle Broslovski


Eigenlob stinkt ~ fast immer
tolleiv ist offline   Mit Zitat antworten
Alt 02-11-2003, 15:00   #7 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
hab hier schon danach gesucht und nix gefunden auf der seite arbeiten die auch nur mit dem x und y wert der kugel.
die errechnen zwar am anfang nen radius der wird aber nicht bei der kollisionsabfrage verwedet. sind nur peanuts was die machen.

ich hoffe einer von euch schlauen köpfen kann mir helfen.
rib ist offline   Mit Zitat antworten
Alt 02-11-2003, 15:51   #8 (permalink)
flashed Dude
 
Benutzerbild von tolleiv
 
Registriert seit: Mar 2002
Ort: _level0
Beiträge: 1.402
so gern ich dir helfen würde is mir noch immer nich klar was genau du überhaupt machen willst - willst du ne Kugel ganz stupide in einer Box hin und her werfen oder willst du physikalische Gesetzmäßigkeiten auf den ganze Spaß wirken lassen ??

den Abstand zwischen Objekten kannst im übrigem mit c²=a²+b² errechnen und mit dessen wandelformen (sinus/cosinus-Satz) lassen sich dann auch noch viele Sachen machen

aber erstmal mußte sagen was genau du machen willst

mfg
__________________
Die Basis unseres Denkens ist das der Verstand sich selbst erkennt.
Kyle Broslovski


Eigenlob stinkt ~ fast immer
tolleiv ist offline   Mit Zitat antworten
Alt 02-11-2003, 17:56   #9 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
ok ich versuchs nochmal.

ich möchte die kollission zweier objekte anhand ihrer koordinaten statt mit hilfe der hittest funktion lösen.
bisher hab ich das immer so gemacht:
ActionScript:
  1. if(obj1._x>this._x && obj1._x<this._x+this._width && obj1._y>this._y && obj1._y<this._y+this._height){
  2. code
  3. }

allerdings wird hier nicht die grösse von obj1 berücksichtigt.
und genau das will ich jetzt.
also um so grösser es ist um so gröser soll auch sein hitbereich sein.
wie mach ich das?
rib ist offline   Mit Zitat antworten
Alt 02-11-2003, 18:20   #10 (permalink)
flashed Dude
 
Benutzerbild von tolleiv
 
Registriert seit: Mar 2002
Ort: _level0
Beiträge: 1.402
also ich versuch ein letztes mal dir nen lösungsvorschlag zu geben :

nehmen wir an du hast zwei Kugeln und die bewegen sich irgendwie im Raum herum dann kannste ja erstmal von deren Mittelpunkt den Abstand dazwischer errechnen und wenn dieser Abstand kleiner als die Summe der beiden Radien ist gibts ne Kollision

üblicherweise willste ja bestimmt auch nicht nur zwei Objekte bewegen sondern mehrere und dafür packst dann einfach die koordinaten (und Radien) Aller in einen globalen Array und vergleichst dann von jedem Einzelnem aus mit den Werten im Array - zu sehen auf tolleiv.de -> _flashed _rumbleBox

allerdings bin ich mir nich sicher ob du das jetzt so willst oder nich

Edit: dabei kanns allerdings zu problemen kommen wenn sich die objekten INeinander befinden

mfg
__________________
Die Basis unseres Denkens ist das der Verstand sich selbst erkennt.
Kyle Broslovski


Eigenlob stinkt ~ fast immer

Geändert von tolleiv (02-11-2003 um 18:22 Uhr)
tolleiv ist offline   Mit Zitat antworten
Alt 02-11-2003, 18:46   #11 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
deine idee ist gut jedoch wird da auch nur eine boxcollision errechnet, hier mal die formel:

if(Math.abs(obj1._x - obj2._x) < (obj1._width/2+obj2._width/2) && (Math.abs(obj1._y - obj2._<) < (obj1._height/2+obj2._height/2){

boxhit
}

nun muss der errechnete hitbereich nur noch rund sein.
ne ahnung wie das geht?
rib ist offline   Mit Zitat antworten
Alt 02-11-2003, 18:53   #12 (permalink)
flashed Dude
 
Benutzerbild von tolleiv
 
Registriert seit: Mar 2002
Ort: _level0
Beiträge: 1.402
also erstmal bin ich froh das endlich weiß was du meinst

und ich hab ja auch eher sowas gemeint :

Math.sqrt(Math.pow((obj1._x-obj2._x),2)+Math.pow((obj1._y-obj2._y),2))<(obj1.radius+obj2.radius)

ich weiß garnicht wieso du dich da immer an _height und _width festklammerst

einwände ?

mfg
__________________
Die Basis unseres Denkens ist das der Verstand sich selbst erkennt.
Kyle Broslovski


Eigenlob stinkt ~ fast immer
tolleiv ist offline   Mit Zitat antworten
Alt 02-11-2003, 19:06   #13 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
supi das hab ich gesucht.
width und height brauch ich aber hier auch um den radius zu berechnen oder gibts da ne andere möglichkeit?
rib ist offline   Mit Zitat antworten
Alt 02-11-2003, 19:10   #14 (permalink)
flashed Dude
 
Benutzerbild von tolleiv
 
Registriert seit: Mar 2002
Ort: _level0
Beiträge: 1.402
vordefinieren -> wenn du zB noch irgendwelchen Text in deinem MC hast der garnicht mit zum Kollisionsbereich gehört isses besser du nimmst feste Werte für sowas aber natürlich kannste auch mit _height und _width arbeiten

mfg
__________________
Die Basis unseres Denkens ist das der Verstand sich selbst erkennt.
Kyle Broslovski


Eigenlob stinkt ~ fast immer
tolleiv 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 16:25 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele