Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-12-2007, 07:46   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Ort: Luzern, Schweiz
Beiträge: 95
Arrow HitTest einer organischer Form

Hallo zusammen

Habe gerde eine Stunde lang hier Threads über HitTest gelesen und nur enorm umständliche Scripts gefunden. Ich möchte einen HitTest einer organischen Form machen.

Bis jetzt hab ich das:
PHP-Code:
if (truck.hitTest(boden)) {
    
trace("hit");

Nun nimmt er aber die Aussenlinie es Movies und reagiert nicht auf die Form. Vor Jahren habe ich das schonmal gemacht, finde aber mein Script nicht mehr, jedoch bin ich der Meinung, dass ich das da ganz einfach gemacht habe...

Weis jemand, wie das geht?
Vielen Dank für eure Hilfe!!!

Gruss Spam
__________________
spam ist offline   Mit Zitat antworten
Alt 21-12-2007, 09:07   #2 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
Schau doch mal ob den diese Variante gebrauchen kannst:
http://www.flashstar.de/tutlist/index.php3?id=1198

Liebe Grüße,
Matze K.
Madokan ist offline   Mit Zitat antworten
Alt 04-01-2008, 07:53   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2004
Ort: Luzern, Schweiz
Beiträge: 95
super, hat mir schon echt geholfen. Habe nun aber ein Problem mit mehreren Kollisions-Abfragen.

Also, hier mal das Script:
PHP-Code:
MovieClip.prototype.advancedHitTest = function(mc:MovieClip):Boolean  {
    var 
hitBitmap = new flash.display.BitmapData(mc._widthmc._heighttrue0);
    
hitBitmap.draw(mc);

    var 
currBitmap = new flash.display.BitmapData(this._widththis._heighttrue0);
    
currBitmap.draw(this);

    if (
currBitmap.hitTest(new flash.geom.Point(this._xthis._y), 0xFFhitBitmap, new flash.geom.Point(mc._xmc._y))) {
        return 
true;
    }
    return 
false;
};
///////////////////////////////////////////////////////////
this.onEnterFrame = function():Void  {
    for (
schwerkraft=0schwerkraft<=4schwerkraft++) {
        if (
truck.advancedHitTest(boden)) {
            
trace("Truck ist am Boden");
            
schwerkraft 5;
        } else {
            
truck._y truck._y+1;
        }
    }
}; 
Damit will ich eine künstliche Schwerkraft erzeugen. Nun möchte ich aber noch weitere Kollisions-Abfrage machen um den Truck auf einer unebenen Fläche schräg hinzustellen, das funktioniert aber nicht:

PHP-Code:
if (truck.rad_vorne.advancedHitTest(_root.boden)) {
        if (
truck.rad_hinten.advancedHitTest(_root.boden)) {
            
// kommt beiden orten an
        
} else {
            
// nur vorne
            
truck._rotation--;
        }
    } else {
        if (
truck.rad_hinten.advancedHitTest(_root.boden)) {
            
// nur hinten
        
            
truck._rotation++;
        }
        
// kommt beiden orten nicht an         
    

Das Ganze steht natürlich auch im onEnterFrame.

Wie kann ich das lösen, das mehrere advancedHitTest funktionieren? Gibt es eine andere Möglichkeit, als dass ich das selbe script nochmals in ein separates MC lege. Ich mag es, wenn das komplette Script an einem Ort ist...

Besten Dank für eure Hilfe!!!


Gruss Spam
__________________
spam 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:20 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele