Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-12-2011, 18:56   #1 (permalink)
©Flash Anfänger
 
Registriert seit: Dec 2011
Beiträge: 2
Exclamation Object berührt Object -> Wie denn? (AS3)

Ich habe einen Object, dass man sich mit den Pfeiltasten sich bewegt und ein anderes Object. Wenn sie sich zueinander treffen, dass soll xyz passieren. (Bei mir zerücksetzen)

Nur: Wie stelle ich's an? (Im ActionsScript 3)

Programm: Adobe Flash Professonal CS5.5
Neui ist offline   Mit Zitat antworten
Alt 16-12-2011, 20:22   #2 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
Hallo, Willkommen, und bitte arbeite an deinem Satzbau

Immer wenn sich eines der beiden Objekte bewegt hat, musst du überprüfen, ob sie kollidieren. Wenn sie kollidieren musst du halt das gewünschte ausführen.
Für Kollisionstests gibt es verschiedene Ansätze, die alle ihre Stärken und Schwächen haben.
  • Eine grobe Variante bietet dir hitTestObject. grob deshalb, da es nur die beiden umgebenden Rechtecken gegeneinander testet. wenn deine Formen also nicht zufällig zwei Rechtecke sind, wirst du hier erhebliche Fehler haben (falsche Kollisionsmeldungen)
  • Bei geometrischen Formen erhältst du die besten Ergebnisse über Herrn Mathe. dazu gibt es auch hier im Forum diverse Beiträge zu.
    So funktionieren bspw. auch die Kollisionstests in Spielen wie Angry Birds und co, weil es der schnellste und genaueste Weg ist.
    Je komplexer die Formen werden, umso aufwändiger wird das ganze zu implementieren.
    Andererseits gibt es dafür aber auch schon fertige Engines wie bspw Box2D.
  • und du kannst einen pixelgenauen Kollisionstest machen, indem du die beiden Objekte in BitmapDatas speicherst, und dort pixel für pixel vergleichst, ob es Pixel gibt, die in beiden Grafiken "undurchsichtig" sind. Klingt erstmal aufwändig, ist es für Flash mitunter auch, aber relativ leicht zu programmieren. (siehe BitmapData.hitTest(), oder hier:diagonal sehr ungenaue Kollisionserkennung)

Nun kommt es darauf an, was du machen willst, wie viele Objekte du gegeneinander testen willst, wie die aussehen, etc, etc

allgemein könntest du auch auch hier im Forum mal nach "hitTest" suchen. dürfte den ein oder anderen Treffer ergeben
__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist gerade online   Mit Zitat antworten
Alt 20-12-2011, 14:10   #3 (permalink)
©Flash Anfänger
 
Registriert seit: Dec 2011
Beiträge: 2
Cool

Zitat:
Zitat von thomas_E Beitrag anzeigen
bitte arbeite an deinem Satzbau
Entschuldigung, ich war ein bisschen gestresst.

Ich nahm die Pixel-Prüfung-Variante (Weil meine Form einen Kreis ist) und es KLAPPT! Vielen vielen Dank!

Geändert von Neui (20-12-2011 um 14:31 Uhr)
Neui 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
[Flash CS4] ausgabe von shared object ist immer [object Object] SaIG Flash Einsteiger 5 16-02-2010 18:05
Array [Object Object] - Syntax Frage darwin26 ActionScript 2 4 26-11-2008 10:33
array-problem [object Object] mopi212 ActionScript 1 4 22-06-2007 15:50
Erhalte bei trace(this); [object Object] andiwand ActionScript 2 6 04-05-2007 22:00
Wann ist ein Object ein Object ein Object? tc77 Softwarearchitektur und Entwurfsmuster 2 19-07-2002 15:23


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele