Zurück   Flashforum > Software > 3D

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-03-2009, 13:55   #1 (permalink)
blechbirne
 
Benutzerbild von robot2006
 
Registriert seit: Aug 2003
Ort: münchen
Beiträge: 224
papervision - verwendung MovieAssetMaterial

hallo, bin gerade etwas lost. ich will einfach nur ein MovieAssetMaterial auf eine Pane anwenden.

Code:
import org.papervision3d.events.*;
import org.papervision3d.materials.*
import org.papervision3d.objects.*;
import flash.filters.*;
import flash.events.*;
import flash.display.*;
...
...
...
private var mcMat:MovieAssetMarerial = new MovieAssetMaterial("testMC", false, true)
...
...
...
plane=new Plane(mcMat,2000,2000,10,10);
und kriege immer diesen error:

Zitat:
1046: Typ wurde nicht gefunden oder war keine Kompilierungszeit-Konstante: MovieAssetMarerial.
ich denke ich habe alle notwendigen klassen drin, was fehlt denn noch?
robot2006 ist offline   Mit Zitat antworten
Alt 13-03-2009, 15:05   #2 (permalink)
blechbirne
 
Benutzerbild von robot2006
 
Registriert seit: Aug 2003
Ort: münchen
Beiträge: 224
hat sich erledigt ....

"MovieAssetMarerial" gibts gar nicht ....
robot2006 ist offline   Mit Zitat antworten
Alt 14-03-2009, 18:33   #3 (permalink)
l2l|c4o
 
Benutzerbild von Sir Freako
 
Registriert seit: Nov 2005
Ort: düstere Grotte im Süden
Beiträge: 968
Doch gibt es

ist im GreatWhiteBranch

Code:
package org.papervision3d.materials
{
	import flash.display.MovieClip;
	import flash.display.Sprite;
	import flash.utils.getDefinitionByName;
	
	import org.papervision3d.Papervision3D;
	import org.papervision3d.core.render.draw.ITriangleDrawer;


	/**
	* The MovieAssetMaterial class creates a texture from a MovieClip library symbol.
	* <p/>
	* The texture can be animated and/or transparent.
	* <p/>
	* The MovieClip's content needs to be top left aligned with the registration point.
	* <p/>
	* Materials collects data about how objects appear when rendered.
	*/
	public class MovieAssetMaterial extends MovieMaterial implements ITriangleDrawer
	{
		
		private static var _library :Object = new Object();
		private static var _count   :Object = new Object();
		
		/**
		 * By default, a MovieAssetMaterial is stored and resused, but there are times where a user may want a unique copy.  set to true if you want a unique instance
		 * created
		 */
		public var createUnique:Boolean = false;
		
		/**
		* A texture object.
		*/		
		override public function get texture():Object
		{
			return this._texture;
		}
		/**
		* @private
		*/
		override public function set texture( asset:Object ):void
		{
			if( asset is String == false )
			{
				Papervision3D.log("Error: MovieAssetMaterial.texture requires a String to be passed to create the MovieClip reference from the library");
				return;
			}
			
			movie = Sprite(createMovie( String( asset ) ));
			bitmap = createBitmapFromSprite( movie );
			_texture = asset;
		}

		// ______________________________________________________________________ NEW

		/**
		* The MovieAssetMaterial class creates a texture from a MovieClip library id.
		*
		* @param	linkageID			The linkage name of the MovieClip symbol in the library.
		* @param	transparent			[optional] - If it's not transparent, the empty areas of the MovieClip will be of fill32 color. Default value is false.
		* @param	initObject			[optional] - An object that contains additional properties with which to populate the newly created material.
		*/
		
		public function MovieAssetMaterial( linkageID:String="", transparent:Boolean=false, animated:Boolean=false, createUnique:Boolean=false, precise:Boolean = false)
		{
			movieTransparent = transparent;
			this.animated = animated;
			this.createUnique = createUnique;
			this.precise = precise;
			if( linkageID.length > 0 ) texture = linkageID;
		}


		// ______________________________________________________________________ CREATE BITMAP
		
		/*
		* since we need to pass a movieclip reference to MovieMaterial, I changed this method
		* from createBitmap, to createMovie.  the super's constructor will take care of
		* creating the actual bitmap reference
		*  
		*/
		protected function createMovie( asset:* ):MovieClip
		{
			// Remove previous bitmap
			if( this._texture != asset )
			{
				_count[this._texture]--;

				var prevMovie:MovieClip = _library[this._texture];

				if( prevMovie && _count[this._texture] == 0 )
				{
					_library[this._texture] = null;
				}
			}
			
			// Retrieve from library or...
			var movie:MovieClip = _library[asset];
			
			var MovieAsset:Class;
			
			// ...attachMovie
			if( ! movie )
			{
				MovieAsset = getDefinitionByName( asset ) as Class;
				movie = new MovieAsset();
				_library[asset] = movie;
				_count[asset] = 0;
			}
			else if( createUnique )
			{
				MovieAsset = getDefinitionByName( asset ) as Class;
				movie = new MovieAsset();
			}
			else
			{
				_count[asset]++;
			}

			// Create Bitmap
			return  movie;
		}
		
	}
}
Sir Freako ist offline   Mit Zitat antworten
Alt 15-03-2009, 10:29   #4 (permalink)
blechbirne
 
Benutzerbild von robot2006
 
Registriert seit: Aug 2003
Ort: münchen
Beiträge: 224
MovieAssetMarerial gibts schon, aber MovieAssetMarerial nicht ... leider wird die korrekte schreibweise nicht gehighlighted.
robot2006 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 12:56 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele