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

--
文字が多いと重い。

Name
Email
Your website or blog
Comment
Security code (CAPTCHA™)