PV3D-立方體材質貼圖

posted by 藉口 on January 29th, 2008
 

上一篇測試了Papervision3D的基本用法,這次來測試貼圖,順便慶祝本站達到廢話一百篇。當然,我還沒摸到呼叫外部圖檔來當貼圖材質,先以匯入Flash裡的圖片當材質測試比較簡單。

步驟如下:
1. 先在繪圖軟體裡作好你的材質圖檔。
2. 匯入Flash元件庫。
匯入元件庫

3. 為每張圖片指定類別。在元件庫的圖片上按滑鼠右鍵->『連結』,然後勾選『匯出給ActionScript使用』,他會自動勾選並填入其他項目,然後按確定。每張圖都必須這樣設定。
指定類別

執行結果:

原始碼如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
 
	import org.papervision3d.cameras.Camera3D;
	import org.papervision3d.objects.*;
	import org.papervision3d.materials.*;
	import org.papervision3d.scenes.MovieScene3D;
 
	public class CubeRotate extends Sprite
	{
		private var container: Sprite;
		private var scene: MovieScene3D;
		private var camera: Camera3D;
		private var myCube:DisplayObject3D;
		private var zoomFlag : String;
 
		public function CubeRotate()
		{
			// 建立主要容器
			container = new Sprite;
			container.x = stage.stageWidth/2;
			container.y = stage.stageHeight/2;
			addChild( container );
 
			// 將這個容器指定為3D場景
			scene = new MovieScene3D( container );
 
			// 建立像機物件
			camera = new Camera3D();
			camera.z = -300;
			camera.zoom = 3;
 
			// 定義貼圖材質
			var bmMaterial1:BitmapAssetMaterial = new BitmapAssetMaterial("test01.jpg");
			var bmMaterial2:BitmapAssetMaterial = new BitmapAssetMaterial("test02.jpg");
			var bmMaterial3:BitmapAssetMaterial = new BitmapAssetMaterial("test03.jpg");
			var bmMaterial4:BitmapAssetMaterial = new BitmapAssetMaterial("test04.jpg");
 
			// 指定立方體各面的著色方式
			var materiallist:MaterialsList = new MaterialsList();
			materiallist.addMaterial(bmMaterial1,"top");
			materiallist.addMaterial(bmMaterial2,"bottom");
			materiallist.addMaterial(bmMaterial3,"front");
			materiallist.addMaterial(bmMaterial4,"back");
			materiallist.addMaterial(bmMaterial4,"left");
			materiallist.addMaterial(bmMaterial4,"right");
 
			// 建立立方體
			myCube = new Cube(materiallist, 200, 180, 120, 1, 1, 1, "myCube");
 
			// 在場景中加入剛剛建立的立方體
			scene.addChild(myCube);
 
			// 將相機的目標指定到立方體
			camera.target = myCube;
 
			// 設定zoom in或zoom out的旗標
			zoomFlag = "forward";
 
			// 註冊enterFrame的事件,每次觸發皆重繪制3D畫面
			stage.addEventListener(Event.ENTER_FRAME, loop3d);
		}
 
		private function loop3d(event: Event): void
		{
			// 旋轉立方體
			myCube.rotationX += 0.35;
 
			// 繪制場景
			scene.renderCamera(camera);
 
		}
	}
}

這次沒有加入滑鼠互動。單純玩貼圖。

 
 

 

4 Responses

001: 阿比,

January 30th, 2008 at 8:54 am

我怎麼覺得那個會轉動的方塊….
我在cool 3D 做過啊~~~~~~(閃~)

002: 藉口,

January 30th, 2008 at 3:31 pm

cool 3d做出來的可不能讓你在Flash裡隨便亂轉,那頂多只能算動畫呦…^^

003: 小咪,

February 1st, 2008 at 10:09 am

小咪又來囉!!哇~”啪”啪”啪” 好厲害哦~順便跟版主拜個早年哦~^^Y

004: zhangli,

July 11th, 2008 at 2:46 pm

很好,正需要这样的文章,谢谢!

 





  • бизнес, бизнес идеи, идеи для бизнеса, идеи бизнеса
  • бизнес идеи, идеи для бизнеса, идеи бизнеса, бизнес
  • бизнес план, бизнес планы
  • бизнес план, бизнес планирование
  • создание бизнеса
  • создание бизнеса
  • генерация бизнес идей, список бизнес идей, как генерировать
  • генерация бизнес идей, список бизнес идей, как генерировать
  • идеи малого бизнеса, идеи для малого бизнеса
  • идеи малого бизнеса, идеи для малого бизнеса
  • идеи для домашнего бизнеса, идея домашнего бизнеса
  • идеи для домашнего бизнеса, идея домашнего бизнеса
  • бизнес
  • философия успеха
  • работа дома, надомная работа, работа на дому
  • работа дома, надомная работа, работа на дому
  • как устроиться на работу
  • интернет-работа дома, интернет работа, работа в интернете дома
  • лучшая работа дома, надомная работа, работа на дому
  • лучшая интернет-работа дома, интернет работа, работа в интернете дома
  • работа в Днепропетровске, работа Днепропетровск
  • работа Днепропетровск, работа в Днепропетровске
  • работа в Одессе, работа Одесса
  • работа в Одессе, работа Одесса
  • работа в Киеве, работа Киев
  • работа в Киеве, работа Киев
  • работа в Харькове, работа Харьков
  • работа Харьков, работа в Харькове
  • мягкая мебель в Днепропетровске, мягкая мебель Днепропетровск
  • матрацы Днепропетровск, матрасы Днепропетровск
  • мягкая мебель Днепропетровск, мягкая мебель в Днепропетровске
  • диваны Днепропетровск, диваны в Днепропетровске
  • фабрика Creale
  • мягкие уголки Днепропетровск, мягкие уголки в Днепропетровске
  • фабрика Romira
  • шкафы-купе Днепропетровск, шкафы-купе в Днепропетровске
  • кухни Днепропетровск, кухни в Днепропетровске
  • мебель Днепропетровск, мебель в Днепропетровске
  • детские Днепропетровск, детские в Днепропетровске
  • кровати Днепропетровск, кровати в Днепропетровске
  • спальни Днепропетровск, спальни в Днепропетровске
  • мебельные магазины Днепропетровск
  • фабрика Скай
  • кухонные уголки в Днепропетровске, кухонные уголки Днепропетровск
  • прихожие в Днепропетровске, прихожие Днепропетровск
  • компьютерные столы Днепропетровск, компьютерные столы в Днепропетровске
  • VIP подарки, VIP сувениры, сувениры и подарки
  • VIP подарки, VIP сувениры, сувениры и подарки
  • подарки для мужчин, подарки мужчине
  • подарки мужчине, подарки для мужчин
  • бизнес подарки, бизнес сувениры
  • бизнес сувениры, бизнес подарки
  • оригинальные подарки, оригинальные сувениры
  • оригинальные сувениры, оригинальные подарки
  • необычные подарки, необычные сувениры
  • необычные сувениры, необычные подарки
  • интернет-магазин сувениров, интернет-магазин подарков
  • интернет магазин подарков, интернет магазин сувениров
  • 
     
  • , , , , , , - , , , ,