Papervision3DのText3Dで日本語使ってみたのをWonderflでforkした
"forked from: PV3Dその3"で日本語表示してみる
なんとか、1ファイルに落とし込みました。
PotrAsが無いっぽいんで、ライブラリソース全部べた貼りしたwww1700行超えてるしwww
指定フォントを表示するカスタムFont3D
CustomFont3DをFont3DとしてText3Dに与えてやればいいだけ。
事前にフォントをトレースする必要があるから、CustomFont3DにはText3Dと同じく表示する文字列を与える必要があります。
フォントやサイズも指定できるので、そこそこ遊べるかと。
[CustomFont3D.as]
package {
import com.nitoyon.potras.*;
import org.papervision3d.typography.Font3D;
import flash.display.BitmapData;
import flash.geom.Point;
import flash.text.TextField;
import flash.text.TextFormat;
public class CustomFont3D extends Font3D
{
private static var __motifs:Object = {};
private static var __widths:Object = {};
private static var __height:Number = 119;
private var _initialized:Boolean = false;
private var _text:String;
private var _font:String;
private var _size:uint;
public function CustomFont3D(text:String, font:String="_ゴシック", size:uint=72)
{
_text = text;
_font = font;
_size = size;
}
private function initialize():void {
if(!_initialized)
{
initializeMotifsAndWidths();
_initialized = true;
}
}
////////////////////////////////////////////
override public function get motifs():Object
{
if(!_initialized)initialize();
return __motifs;
}
override public function get widths():Object
{
if(!_initialized)initialize();
return __widths;
}
override public function get height():Number
{
if(!_initialized)initialize();
return __height;
}
////////////////////////////////////////////
private function initializeMotifsAndWidths():void
{
var arr:Array = _text.split("");
var result:Array;
for(var i:uint=0,max:uint=arr.length; i
--
文字が多いと重い。
About this entry
Archive type
Individual archive
Published
2009/05/16 06:59
0 Comments