| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: May 2007
Beiträge: 85
|
Hallo nochmal, ich fasse mich diesmal so einfach wie möglich. ich erstelle ein material, füge dies einer plane hinzu und biege diese plane mit hilfe der bend methode von "as3dmod". nach diesem bend-prozess möchte ich die breite der plane wissen. ![]() Sprich, ich will wissen wieviele Pixel rechts neben dem bild schwarz sind. Hier der Code den ich bisher dazu habe: Code: [SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")]
public class BitmapViewportMaterialExample extends BasicView
{
private var bendPlane:Plane;
private var bendMaterial:BitmapFileMaterial;
private var bend:Bend;
private var mstack:ModifierStack;
public function BitmapViewportMaterialExample()
{
// ************ CAMERA **********************
camera.focus = 100;
camera.zoom = 10;
camera.z = -1000;
// ******************************************
// *********** PLANE ***************************
bendMaterial = new BitmapFileMaterial("image5.jpg");
bendPlane = new Plane(bendMaterial, 640, 480, 24, 24);
// **********************************************
//********** BENDING *******************************************
bend = new Bend(0, 0.5);
//bend.constraint = ModConstant.RIGHT;
bend.constraint = ModConstant.LEFT;
bend.force = -1;
// Create a modifierStack and apply the plane to it
mstack = new ModifierStack(new LibraryPv3d(), bendPlane);
// add the bend operation to the ModifierStack
mstack.addModifier(bend);
mstack.apply();
//****************************************************************
scene.addChild(bendPlane);
startRendering();
calculateBlackPixels();
}
private function calculateBlackPixels():void
{
var bitmapData:BitmapData = new BitmapData(640, 480, false);
bitmapData.draw(viewport.containerSprite);
for (var x:int = 0; x < 640; x++)
{
var color:int = bitmapData.getPixel32(x, 240); // 240 für die vertikale mitte des bildes
var colorStr:String = color.toString().toUpperCase();
trace(colorStr);
}
}
override protected function onRenderTick(event:Event = null):void
{
//render the main scene
renderer.renderScene(scene, camera, viewport);
}
} Hier der Sourcecode: http://misterdan.netcup.net/BitmapVi...ialExample.zip Ansatz: Meiner Meinung nach stimmt was mit dem "viewport.containerSprite" nicht. Es wird zwar alles wunderbar angezeigt, jedoch kommt beim tracen des "colorStr"-Strings immer -1 heraus. Ich hoffe irgendjemand dadraußen kann mir weiterhelfen. Ich bin total verzweifelt. Ich finde nichts dazu und mir fällt auch nichts mehr ein. Vielen, vielen Dank für jegliche(n) Tip / Hilfe. Cheers, Dan |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: May 2007
Beiträge: 85
| Hi, was genau meinst du damit? Was ich eben versucht hab ist folgendes: Code: var sizeAfterBending:Number = (-1 * plane.geometry.vertices[0].x) + (plane.geometry.vertices[plane.geometry.vertices.length-1].x); kommt grob hin aber nicht genau. ich sag mal so. wenn meine plane 400*533 groß ist, funktionierts. wenn meine plane 640*480 groß ist, stimmt es um ca. eine breite von 20 pixeln nicht mehr. Ich verzweifel hier total. Danke für jede Hilfe. P.S.: Sorry für späte Antworten. Sitz grad nicht in Germany. |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| PV3D shader prob mit mehr als 4 segments bei einer plane | salazar | ActionScript 3 | 9 | 06-05-2009 10:47 |
| Breite einer SWF dynamisch? | Aule | Web-Editoren | 5 | 30-01-2006 17:48 |
| Breite und Höhe einer swf bei steuerung mit pfeiltastem | mop mop | Flash MX 2004 | 3 | 01-07-2005 15:05 |
| Breite einer Tabelle | siflu | HTML und CSS | 6 | 20-05-2004 12:11 |
| höhe und breite einer externen swf einstellen | glitzer | Flash MX | 9 | 10-04-2003 10:28 |