要實現中文字體 我們只能用矢量圖 也就是將文字轉化爲矢量圖
擠出類 TextExtrusion <maya中的擠出命令>
demo:
http://www.swfcabin.com/open/1286850933
http://www.swfcabin.com/open/1286851117
用法 :
var _mesh:Mesh = import3d.children[0] as Mesh;
_mesh.pushback=true
var extrusion : TextExtrusion = new TextExtrusion(_mesh);
extrusion.bothsides = true;
_view.scene.addChild(extrusion);//將擠出效果添加進場景
代碼:
/*
使用Embed
*/
package
{
import away3d.containers.*;
import away3d.core.base.*;
import away3d.loaders.*;
import flash.events.*;
import flash.utils.*;
import away3d.extrusions.*
import base.*
[SWF(width="800", height="600")]
public class ImportShape extends Base
{
//以字節的形式進行嵌套
[Embed(source='../import3d02.swf',
mimeType="application/octet-stream")]
private var ImportSWF : Class;
private var _mesh : Mesh;
private var import3d : ObjectContainer3D
override protected function _createScene() : void
{
var importSWF: ByteArray = new ImportSWF() as ByteArray;
var swf : Swf = new Swf();
swf.libraryClips = ["Pic"];//Pic 爲外部swf中的類 libraryClips屬性 即爲 外部鏈接類
import3d= swf.parseGeometry(importSWF) as
ObjectContainer3D;
import3d.pushback=true
//_view.scene.addChild(import3d);//也可以不添加進舞臺 這樣的話 舞臺只顯示擠出後的3d 添加進場景 則是圖形 和擠出兩個對象的重疊
//使用文本擠出命令
var _mesh:Mesh = import3d.children[0] as Mesh;
_mesh.pushback=true
var extrusion : TextExtrusion = new TextExtrusion(_mesh);
extrusion.bothsides = true;
_view.scene.addChild(extrusion);//將擠出效果添加進場景
}
//添加動作
override protected function _onEnterFrame(ev : Event) : void
{
super._onEnterFrame(ev);
//var _mesh:Mesh = import3d.children[0] as Mesh;
//for each (var vertex : Vertex in _mesh.vertices)
//vertex.z = 50*Math.sin(vertex.x/50 + getTimer()/200);
}
}
}
Base類:
package base
{
import away3d.cameras.*;
import away3d.containers.*;
import flash.display.*;
import flash.events.*;
[SWF(width="800", height="600")]
public class Base extends Sprite
{
protected var _camera : Camera3D;
protected var _view : View3D;
public function Base()
{
_createView();
_createScene();
}
protected function _createView() : void
{
_camera = new TargetCamera3D();
_camera.z = -1000;
_view = new View3D();
_view.x = 400;
_view.y = 300;
_view.camera = _camera;
addChild(_view);
addEventListener(Event.ENTER_FRAME, _onEnterFrame);
}
protected function _createScene() : void
{
// To be overridden
}
protected function _onEnterFrame(ev : Event) : void
{
_camera.x -= (_camera.x - 3*(mouseX - stage.stageWidth/2))/4;
_camera.y -= (_camera.y + 2*(mouseY - stage.stageHeight/2))/4;
_view.render();
}
}
}
import3d02.swf 文件
import3d02.swf中 就是一個影片剪輯Pic <鏈接名爲Pic>
pic影片剪輯中寫上 夜夢驚魂 夜楓設計 並且將該文字打散爲位圖即可
你也可以直接在這裏下載
import3d02.fla源文件
http://56589.5c5c.info/swf/import3d02.fla