Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash CS3 Professional

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-08-2010, 20:51   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2010
Beiträge: 27
Bitmap Data aus Array holen um 180 Grad drehen und verwenden???

Hallo,

ich lade ein paar Bilder dynamisch in den Flashfilm rein und speichere sie als Bitmap Data in einem Array ab damit ich sie später verwenden kann.

Das alles funktioniert wunderbar, auf Knopfdruck kann ich jetzt das Bitmap Material auf meinen in Papervision3D erstellten Cube setzen.

Das geschieht mit:

PHP-Code:
cube.replaceMaterialByName(object3DBitmapMaterialArray[0], "front"); 
Das Bitmapmaterial liegt in folgendem Array:

PHP-Code:
object3DBitmapMaterialArray 
Wenn ich das Array mit einen Trace ausgebe erhalte ich folgendes:

PHP-Code:
Texture:[object BitmapDatalineColor:0 lineAlpha:
Ich möchte jetzt aber gerne das bevor das Bitmap Material auf den cube gesetzt wird das Material um 180 Grad gedreht wird. Ich habe gelesen das es mit Matrix funktionieren soll was ich dan nauch ausprobiert habe. Ich bin da jetzt schon 2 Tage dran und habe gegoogled aber ich finde einfach nichts was mir hilf und funktioniert.

Es wäre super wenn hier jemand ein funktionierendes Beispiel geben würde!!!

Vielen Dank
Flashy12356 ist offline   Mit Zitat antworten
Alt 17-08-2010, 10:30   #2 (permalink)
Crème brûlée
 
Registriert seit: Jan 2006
Ort: Düsseldorf
Beiträge: 719
Mal hier geschaut? Da steht eigentlich alles drin.

flash.geom.Matrix (ActionScript 3.0)
laxersaz ist offline   Mit Zitat antworten
Alt 24-08-2010, 20:40   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2010
Beiträge: 27
Vielen Dank erstmal!!!

Ich habe jetzt folgendes:

PHP-Code:
var matrix:Matrix = new Matrix();
matrix.translate(-object3DBitmapMaterialWidth 2, -object3DBitmapMaterialHeight 2);
matrix.rotate(90 * (Math.PI 180));
matrix.translate(object3DBitmapMaterialHeight 2object3DBitmapMaterialWidth 2);

var 
matriximage:BitmapData = new BitmapData(object3DBitmapMaterialHeightobject3DBitmapMaterialWidth,  false0x00000000);
matriximage.draw(object3DBitmapMaterialSlicesArray[object3DBitmapMaterialIndex][i], matrix); 
Aber dann bekomme ich immer diese Fehlermeldung:

PHP-Code:
Texture:[object BitmapDatalineColor:0 lineAlpha:0
TypeError
Error #1034: Typumwandlung fehlgeschlagen: org.papervision3d.materials::BitmapMaterial@142f1d71 kann nicht in flash.display.IBitmapDrawable umgewandelt werden. 
Weis jemand vielleicht wo das Problem liegt ???

Vielen Dank!!!

Geändert von Flashy12356 (24-08-2010 um 20:41 Uhr)
Flashy12356 ist offline   Mit Zitat antworten
Alt 24-08-2010, 22:57   #4 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
IBitmapDrawable kennzeichnet Objekte vom Typ BitmapData || DisplayObject.

BitmapMaterial leitet sich aber nicht davon ab, sondern laut PV3D-Doku von Event-Dispatcher.
sprich es ist kein klassisches Element der Display-list.

such das dazugehörige BitmapData-Element heraus.
aufm ersten Blick sehen "tempPreBmp" und "texture" interessant aus.
besser jedoch wäre die Transformation des BitmapData-Objektes, bevor du es als asset an ein BitmapMaterial übergibst.


btw, wenn du >=CS4 benutzt und somit auf die Vector-Klasse zugreifen kannst, kannst du den Inhalt eines BitmapData-Objektes auch folgendermassen um 180° drehen. ganz ohne Matrix und evtl. neuberechnung der Pixel

Code:
var bd:BitmapData = //...
bd.setVector(bd.rect, bd.getVector(bd.rect).reverse());
__________________
greetz Thomas

plz RTFM & Coding Conventions

Geändert von thomas_E (24-08-2010 um 22:59 Uhr)
thomas_E ist offline   Mit Zitat antworten
Alt 24-08-2010, 23:44   #5 (permalink)
Neuer User
 
Registriert seit: Apr 2010
Beiträge: 27
Hallo,

erstmal vielen Dank!!!

Was meinst du den mit such das dazugehörige BitmapData-Element heraus?

Ich muß das leider so machen, also erst das BitmapMaterial laden und in einem Array speichern und dann anschließend wieder aus dem Array holen, dann drehen und dann wieder auf einen Cube setzen.

Es wäre super wenn du mir helfen könntest das ztu schaffen. Ich arbeite mit CS3 ,da fällt das mit der Vector Klasse wohl flach

Vielen Dank !!!
Flashy12356 ist offline   Mit Zitat antworten
Alt 25-08-2010, 08:07   #6 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
die BitmapMaterial-Klasse hält nur Informationen über dei Textur, unter anderem müsste sie ein BitmapData Element enthalten, in dem die Bilddaten gespeichert sind.
und genau dieses Objekt ist es, dass du benötigst, und drehen musst.

ich hab noch nicht gross mit PV3D gearbeitet, und nur mal schnell nen Blick in die Doku geschmissen, und danach zu urteilen könnte "tempPreBmp" oder "texture" das enthalten was du suchst

edit: hab mal in den sc. der BitmapMaterial-klasse geschaut.
BitmapMaterial.texture ist das Objekt das du suchst!

ActionScript:
  1. var bd:BitmapData = BitmapData(myBitmapMaterial.texture);
  2. var m:Matrix = new Matrix(-1, 0, 0, -1, bd.width, bd.height);
  3. bd.draw(bd, m);
__________________
greetz Thomas

plz RTFM & Coding Conventions

Geändert von thomas_E (25-08-2010 um 08:22 Uhr)
thomas_E ist offline   Mit Zitat antworten
Alt 25-08-2010, 11:33   #7 (permalink)
Neuer User
 
Registriert seit: Apr 2010
Beiträge: 27
Hi,

super vielen Dank für deine Mühe!!! Ich werde das gleich mal ausprobieren und mich dann mit dem Ergebnis melden

Viele Grüße
Flashy12356 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 8] PerlinNoise-Flaggeneffekt um 90 Grad drehen. pokeylope Flash Einsteiger 4 30-05-2009 20:17
Film 90 Grad drehen? Blitzjunge Flash MX 2004 4 13-10-2005 10:55
Um 5 grad nach rechts drehen Scrorpius Flash MX 2004 8 16-02-2005 21:22
ScrollBar Komponente 90 Grad drehen chacharon Komponenten und SmartClips 4 17-10-2003 09:33


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:55 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele