• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-05-2008, 12:55   #1 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.305
Question bitmapData draw rotate

servus,

ich steh hier grad vor nem problem und mir fällt keine schöne/saubere lösung dafür ein.

ich hab einen mc. dieser krieg peer attachBitmap ein bitmapData (nr 1) attached. sagen wir 400*400 pix, dass bitmap ist unsichtbar. ich habe ein anderes, kleineres bitmapData (nr 2) welches ich in ersteres per draw reinzeichnen will.

soweit so gut..

jetzt will ich nr2 aber immer zentriert in nr1 haben. wie gesagt. bitmap nr1 ist deutlich größer als nr2. das zu bewerkstelligen ist allerdings auch noch nicht das problem. das lässt sich ja easy mit der translateMatrix und translate bewerkstelligen.

jetzt kommt aber der haken. ich will das bitmap nr2 welches ich in nr1 zeichne noch drehen mit rotate. und da hörts bei mir auf. weil er das bitmap ja nicht um die eigene achse dreht sondern vom 0 punkt ausgehend. und dann will ich das noch wie gesagt zentriert ins bitmapData nr1 zeichnen... und genau hier steh ich auf dem schlauch.

hier mal meine methode zum zeichnen.... bzw der aktuelle stand.
PHP-Code:
//-----------------------------------------------------
    
    
private function drawEnemy(rot:Number):Void {
        
        var 
radians:Number = (rot 180) * Math.PI;

        var 
rotationMatrix:Matrix = new Matrix();
            
rotationMatrix.rotate(radians);
            
        
/*
        var translateMatrix:Matrix = new Matrix();
            translateMatrix.translate(70, 15);

            rotationMatrix.concat(translateMatrix);
        */
                    
                
        
enemy.bmp.draw(enemyBMProtationMatrixnull"normal", new Rectangle(00enemy.mc_container._widthenemy.mc_container._height), true);

    }
    
    
//----------------------------------------------------- 
enemy.bmp = nr1
enemyBMP = nr2

freue mich über ideen und vorschläge.
merci, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!

Geändert von salazar (21-05-2008 um 12:57 Uhr)
salazar ist offline   Mit Zitat antworten
Alt 21-05-2008, 13:48   #2 (permalink)
will code HTML for food
 
Benutzerbild von querkopf
 
Registriert seit: Mar 2003
Beiträge: 1.231
Moin,

schau mal ob Dir das hier weiterhilft:

http://thanksmister.com/?p=75
http://www.kirupa.com/forum/showthread.php?p=2324012
http://www.senocular.com/flash/tutor...ansformmatrix/

bis dann,
querkopf

Edit: ha! genau, diesen Link habe ich noch gesucht, da ist exakt das drin was Du brauchst: http://www.8bitrocket.com/newsdispla...?newspage=6765 (Matrix is' für AS2 soweit ja gleich)
__________________
Alles ist wie immer. Nur schlimmer.

Geändert von querkopf (21-05-2008 um 13:53 Uhr)
querkopf ist offline   Mit Zitat antworten
Alt 21-05-2008, 16:23   #3 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.305
Post

hi,
coole links. und jaa. beim letzten war genau das bei was ich gesucht habe.
der einbau und umbau von as3 zu as2 war ein bissal trickey, aber es hat hingehauen!

PHP-Code:
//-----------------------------------------------------
    
    
private function drawEnemy(rot:Number):Void {

        var 
enemyWidthHalf:Number enemyBMP.width 2;
        var 
enemyHeightHalf:Number enemyBMP.height 2;
        
        var 
degrees:Number rot;
        
        var 
angle_in_radians Math.PI * (degrees 360);
        
        var 
rotationMatrix:Matrix = new Matrix();
            
rotationMatrix.translate(-enemyWidthHalf, -enemyHeightHalf);
            
rotationMatrix.rotate(angle_in_radians);
            
rotationMatrix.translate(enemyWidthHalfenemyHeightHalf);

        
enemy.bmp.draw(enemyBMProtationMatrixnullnullnulltrue);

    }
    
    
//----------------------------------------------------- 
merci & grüße in die weite ferne
cheers
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!

Geändert von salazar (21-05-2008 um 16:26 Uhr)
salazar 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


LinkBacks (?)
LinkBack zu diesem Thema: http://www.flashforum.de/forum/actionscript-2/bitmapdata-draw-rotate-253547.html
Erstellt von Für Art Datum Hits
Änderung Registrierungspunkt HTML Code | PHP lernen | PHP Scripte | : Codehelper / PHP, Javascript, Actionscript - Scripte, Tutorials, Tipps Dieses Thema Refback 10-10-2009 22:52 5
Transformationsmatrix / Matrix Klasse Actionscript 3 HTML Code | PHP lernen | PHP Scripte | : Codehelper / PHP, Javascript, Actionscript - Scripte, Tutorials, Tipps Dieses Thema Refback 03-09-2009 08:37 11


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:52 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele