away3d中创建中文3d字体

来源:互联网 发布:自制力差怎么办知乎 编辑:程序博客网 时间:2024/05/16 18:49

要实现中文字体 我们只能用矢量图 也就是将文字转化为矢量图

 

挤出类 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

 

 

原创粉丝点击