
- Luaスクリプトについて -
- About LUA Script -

	スクリプト制御、スクリプトファイル(*.anm,*.obj,*.scn,*.cam)、
	テキストのスクリプト制御文字で利用可能なスクリプトには
	Lua言語が使用出来ます。また幾つかの変数と関数が拡張されています。
	In places where script can be used, such as "Script Control", 
	Script files(*.anm, *.obj, *.scn, *.cam) and
	inside Text object, Lua scripting language can be used.
	In addition, a few variables and functions have been added.


- 変数 -
- Variables -

	対象オブジェクトの情報が以下の変数に入ります。
	A target object possess the following variables:

	obj.ox : 基準座標からの相対座標X
	relative coordinate of X w.r.t. reference origin
	obj.oy : 基準座標からの相対座標Y
	relative coordinate of Y w.r.t. reference origin
	obj.oz : 基準座標からの相対座標Z
	relative coordinate of Z w.r.t. reference origin
	obj.rx : X軸回転角度(360.0で一回転)
	Angle of turn around the X-axis (360.0 for 1 complete turn)
	obj.ry : Y軸回転角度(360.0で一回転)
	Angle of turn around the Y-axis (360.0 for 1 complete turn)
	obj.rz : Z軸回転角度(360.0で一回転)
	Angle of turn around the Z-axis (360.0 for 1 complete turn)
	obj.cx : 中心の相対座標X
	relative coordinate of X for object's center
	obj.cy : 中心の相対座標Y
	relative coordinate of Y for object's center
	obj.cz : 中心の相対座標Z
	relative coordinate of Z for object's center
	obj.zoom : 拡大率(1.0=等倍)
	Magnification (1.0= original size)
	obj.alpha : 不透明度(0.0〜1.0/0.0=透明/1.0=不透明)
	Opacity (0.0-1.0; 0.0= transparent; 1.0=opaque)
	obj.aspect : アスペクト比(-1.0〜1.0/プラス=横縮小/マイナス縦縮小)
	Aspect ratio (-1.0-1.0; +ve = restrict width; -ve = restrict height)
	obj.x : 表示基準座標X (ReadOnly)
	Reference coordinate X (ReadOnly)
	obj.y : 表示基準座標Y (ReadOnly)
	Reference coordinate Y (ReadOnly)
	obj.z : 表示基準座標Z (ReadOnly)
	Reference coordinate Z (ReadOnly)
	obj.w : 画像サイズW (ReadOnly)
	Image width (ReadOnly)
	obj.h : 画像サイズH (ReadOnly)
	Image height (ReadOnly)
	obj.screen_w : スクリーンサイズW (ReadOnly)
	Screen width (ReadOnly)
	obj.screen_h : スクリーンサイズH (ReadOnly)
	Screen height (ReadOnly)
	obj.framerate : フレームレート (ReadOnly)
	Framerate (ReadOnly)
	obj.frame : オブジェクト基準での現在のフレーム番号 (ReadOnly)
	Current frame number w.r.t. object (ReadOnly)
	obj.time : オブジェクト基準での現在の時間(秒) (ReadOnly)
	Current time in seconds w.r.t. object (ReadOnly)
	obj.totalframe : オブジェクトの総フレーム数 (ReadOnly)
	Total frame count for object (ReadOnly)
	obj.totaltime : オブジェクトの総時間(秒) (ReadOnly)
	Total time in seconds for object (ReadOnly)
	obj.layer : オブジェクトが配置されているレイヤー (ReadOnly)
	The layer number where this object is residing (ReadOnly)
	obj.index : 複数オブジェクト時の番号 (ReadOnly) ※個別オブジェクト用
	Object ID# when inside multiple objects (ReadOnly) *for use with individual object
	obj.num : 複数オブジェクト時の数(1=単体オブジェクト/0=不定) (ReadOnly) ※個別オブジェクト用
	Count for multiple objects (1= single object/ 0= variable) (ReadOnly) *for use with individual object
	obj.track0 : トラックバー0の値 (ReadOnly) ※スクリプトファイル内のみ使用可
	Value for slider 0 (ReadOnly) *only usable in script files
	obj.track1 : トラックバー1の値 (ReadOnly) ※スクリプトファイル内のみ使用可
	Value for slider 1 (ReadOnly) *only usable in script files
	obj.track2 : トラックバー2の値 (ReadOnly) ※スクリプトファイル内のみ使用可
	Value for slider 2 (ReadOnly) *only usable in script files
	obj.track3 : トラックバー3の値 (ReadOnly) ※スクリプトファイル内のみ使用可
	Value for slider 3 (ReadOnly) *only usable in script files
	obj.check0 : チェックボックスの値 (ReadOnly) ※スクリプトファイル内のみ使用可
	Value for checkbox 0 (ReadOnly) *only usable in script files


- 注意点 -
- Points to Note -

	○モーションブラー等に対応する為にはobj.frameは使わずobj.timeを使うようにしてください。
	For compatibility with motion blur, please use obj.time instead of obj.frame.
	○pixel系の関数でオブジェクト全体をドット処理するとかなり重いのであまり実用向きではありません。
	Functions for pixel processing are CPU intensive. Not for practical use.
	○スクリプトはSJISの2バイト文字の0x5cをエスケープ処理してから実行されます。
	The 2-bytes S-JIS character, 0x5C, is escaped prior script execution.
	○スクリプト制御、テキストオブジェクト内のスクリプトのUnicode文字はUnicodeタグ(&#????;)に変換されます。
	For scripts in Script Control and inside text objects, Unicode characters are converted to their unicode tag representation (&#????;).
	○扱えるスクリプトの最大サイズは約32KBです。それ以上の場合はdofile()等を活用してください。
	Max size for a single script is 32KB. For larger script, please make use of dofile() to get around this limitation.
	○スクリプトからスクリプトを呼び出した場合は上手く動作しない場合があります。
	Calling script from another script may not work correctly.


- 関数 -
- Functions -

	以下の関数が追加されています。
	AviUtl is extended with the following functions:

	○obj.mes(text)
		テキストオブジェクトの中で指定のテキストを追加します。
		Append a specified text in a text object.
		テキストオブジェクトのテキスト内のみ使用出来ます。
		Usable in text object only.
		※obj.を省略してmes()のみでも使用出来ます。
		*obj. can be omitted and use only the mes() part.
		text	: 表示するテキストを指定します。
		text	: set the text to be shown.
		Example：obj.mes("この文字が挿入されて表示されます")

	○obj.effect([name,param1,value1,param2,value2,...])
		指定のフィルタ効果を実行します。メディアオブジェクトのみ使用出来ます。
		Execute certain filter effect. Usable in media object only.
		引数なしで呼ぶとスクリプト以降のフィルタ効果を実行します。
		When used without argument, the filter effect that come after the script will be executed.
		name	: エフェクトの名前を指定します。
		name	: specify the effect's name
		param1	: エフェクトのパラメータの名前を指定します。
		param1	: set effect's first parameter name
		value1	: エフェクトのパラメータの値を指定します。
		value1	: set effect's first parameter value
		param?,value?の組み合わせは必要な分だけ指定できます。
		The (param?, value?) pair can be repeated as many times as needed.
		※トラックバー、チェックボックス以外の設定のparam,valueは
		オブジェクトファイルのエクスポート等で出力された時の名前や値になります。
		For settings other than sliders and checkbox, the "param" and "value" can be found
		when an object is exported.
		※名称が変わるトラックバーはエクスポート等の出力での名前を参照して下さい。
		*Please refer to exported object for changed slider name and values.
		※ディスプレイスメントマップの形状指定で"type"を0,"name"を"*tempbuffer"に
		指定するとtempbufferを形状として読み込みます。
		*Data in tempbuffer can be read as a shape by calling "displacement map"
		and set "type" to 0 and "name" to "*tempbuffer".
		例：obj.effect("色調補正","明るさ",150,"色相",180)
		Example: obj.effect("Color compensation","Lightness",150,"Hue",180)

	○obj.draw([ox,oy,oz,zoom,alpha,rx,ry,rz])
		現在のオブジェクトを描画します。メディアオブジェクトのみ使用出来ます。
		Draw the current object. Usable in media object only.
		通常何もしなくても最後に描画されますがobj.draw()を使うことにより
		オブジェクトを複数回描画することが出来ます。
		Usually an object is drawn as the end of script any way, but you may force
		multiple refresh using this method.
		※obj.draw()を使用した場合スクリプト以降のフィルタ効果は実行されません。
		*When obj.draw() is used, the filter effect that comes after the script will not be executed.
		※obj.effect()を引数なしで呼ぶことで事前にスクリプト以降のフィルタ効果を実行出来ます。
		ox	: 相対座標X Relative coordinate X
		oy	: 相対座標Y Relative coordinate Y
		oz	: 相対座標Z Relative coordinate Z
		zoom	: 拡大率(1.0=等倍) Magnification (1.0= original size)
		alpha	: 不透明度(0.0=透明/1.0=不透明) Opacity (0.0= transparent; 1.0= Opaque)
		rx	: X軸回転角度(360.0で一回転)
		Angle of turn around the X-axis (360.0 for 1 complete turn)
		ry	: Y軸回転角度(360.0で一回転)
		Angle of turn around the Y-axis (360.0 for 1 complete turn)
		rz	: Z軸回転角度(360.0で一回転)
		Angle of turn around the Z-axis (360.0 for 1 complete turn)
		Example：obj.draw(2,10,0)

	○obj.drawpoly(x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z3[,u0,v0,u1,v1,u2,v2,u3,v3,alpha])
		現在のオブジェクトの任意部分を任意の四角形で描画します。メディアオブジェクトのみ使用出来ます。
		Draw a free rectangle at any part of the current object. Usable in media object only.
		※内角が全て180度以下の平面以外は正しく描画されません。
		*Interior angle larger than 180 degree cannot be drawn correctly.
		※頂点0から3が時計回りになる面が表面になります。
		*Vertices 0 to 3 represent a surface in a clockwise manner.
		※obj.drawpoly()を使用した場合スクリプト以降のフィルタ効果は実行されません。
		*When obj.drawpoly() is used, the filter effect that comes after the script will not be executed.
		x0,y0,z0 : 四角形の頂点0の座標 Coordinates for vertex 0
		x1,y1,z1 : 四角形の頂点1の座標 Coordinates for vertex 1
		x2,y2,z2 : 四角形の頂点2の座標 Coordinates for vertex 2
		x3,y3,z3 : 四角形の頂点3の座標 Coordinates for vertex 3
		u0,v0	 : 頂点0に対応するオブジェクトの画像の座標
		Object's coordiate that correspond to vertex 0
		u1,v1	 : 頂点1に対応するオブジェクトの画像の座標
		Object's coordiate that correspond to vertex 1
		u2,v2	 : 頂点2に対応するオブジェクトの画像の座標
		Object's coordiate that correspond to vertex 2
		u3,v3	 : 頂点3に対応するオブジェクトの画像の座標
		Object's coordiate that correspond to vertex 3
		Example：obj.drawpoly(-50,-50,0, 50,-50,0, 50,50,0, -50,50,0, 0,0, obj.w,0, obj.w,obj.h, 0,obj.h)

	○obj.load([type],...)
		現在のオブジェクトの画像を読み込みます。
		Load an image for the current object.
		typeを省略した場合は自動的に判別します。
		When "type" is omitted, object type will be determined automatically.
		※読み込まれていた画像は破棄されます。
		*Existing image will be discarded.

		◇動画ファイル Video file
			obj.load("movie",file[,time,flag])
			動画ファイルから指定時間の画像を読み込みます。
			Read an image from a video file at the given time.
			file	: 動画ファイル名 Name of video file
			time	: 表示する画像の時間(秒)(省略時はオブジェクトの現時間) The time point to get the image (in seconds). When omitted, default to object's current time.
			flag	: 0=アルファ無し / 1=アルファ付き 0= no alpha channel; 1= with alpha
			戻り値	: 動画の総時間(秒)
			Return value: total animation time (in seconds)
			Example：obj.load("movie","c:\\test.avi")
		◇画像ファイル Image file
			obj.load("image",file)
			画像ファイルを読み込みます。Read an image file.
			file	: 画像ファイル名 File name of image.
			Example：obj.load("image","c:\\test.bmp")
		◇テキスト Text
			obj.load("text",text[,speed,time])
			テキストを読み込みます。 Read in some text (as image).
			色とサイズ、フォントの制御文字が使用出来ます。
			Font-controlling commands for color and size can be used.
			speed,timeを設定すると表示する文字数を変更出来ます。
			The number of characters that can be shown at a time can be set using speed and time parameters.
			※テキストオブジェクトには使用出来ません。
			*Cannot be used in text object.
			text	: 読み込むテキスト The text to be read.
			speed	: timeパラメータの1秒間で表示する文字数 The number of characters that will be shown in 1 second.
			time	: speedパラメータに対する経過時間 Duration
			Example：obj.load("text","Load this text as image")
		◇図形 Graphic
			図形を読み込みます。Read in a default shape.
			obj.load("figure",name[,color,size,line])
			name	: 図形名 shape's name
			color	: 色(0x000000〜0xffffff) Color
			size	: 図形のサイズ Size
			line	: 図形のライン幅 Line width
			例：obj.load("figure","円",0xffffff,100)
			Example：obj.load("figure","Circle",0xffffff,100)
		◇フレームバッファ Frame buffer
			フレームバッファから読み込みます。Read from frame buffer.
			load("framebuffer"[,x,y,w,h])
			x,y,w,h	: フレームバッファから取得する範囲(省略時は全体) Area to capture from frame buffer (Capture all when omitted)
		◇仮想バッファ Virtual buffer
			仮想バッファから読み込みます。Read from virtual buffer.
			※仮想バッファはobj.copybuffer(),obj.setoption()で作成することが出来ます。
			*Virtual buffer can be created using obj.copybuffer() and obj.setoption().
			load("tempbuffer"[,x,y,w,h])
			x,y,w,h	: 仮想バッファから取得する範囲(省略時は全体) Area to capture from virtual buffer (Capture all when omitted)
		◇レイヤー上のオブジェクト Object on layer
			指定のレイヤー上のオブジェクトを読み込みます。Read an object on a specific layer.
			obj.load("layer",no[,effect])
			no	: レイヤー番号(1〜) Layer ID (an integer >0)
			effect	: 追加エフェクトの実行( true=する / false<デフォルト>=しない ) Perform additional effects(true/false[default])
		◇直前オブジェクト Previous object
			直前オブジェクトを読み込みます。Read in previous object
			obj.load("before");
			カスタムオブジェクトで他のオブジェクトを読み込む前の時のみ使えます。
			Only usable in custom object and prior reading other object.

	○obj.setfont(name,size[,type,col1,col2])
		obj.load()のテキストで使うフォントを指定します。Set the font for text read using obj.load().
		※スクリプトの呼び出し毎に指定する必要があります。
		*Need to set this function everytime the script is called.
		name	: フォント名 Font name
		size	: フォントサイズ Font size
		type	: 文字の装飾(0〜4) Font decoration (0-4)
			  0=標準文字 Standard / 1=影付き文字 Shadowed / 2=影付き文字(薄)Thin shadow
			  3=縁取り文字 Bordered / 4=縁取り文字(細) Thin border
		col1	: 文字の色(0x000000〜0xffffff) Text color
		col2	: 影・縁の色(0x000000〜0xffffff) Shadow/Edge color

	○obj.rand(st_num,ed_num[,seed,frame])
		乱数を発生させます。通常の乱数と異なり同一時間のフレームで
		常に同じ値が出るように乱数を発生させます。
		Generate a random number. Note that for all frames at the same time point, the generated number will always be the same.
		※obj.を省略してrand()のみでも使用出来ます。
		*rand() can be used without "obj."
		st_num	: 乱数の最小値 minimum value
		ed_num	: 乱数の最大値 maximum value
		seed	: 乱数の種(省略時はオブジェクト毎に異なる乱数になります
			  プラスの値を指定すると種が同じでもオブジェクト毎に異なる乱数になり
			  For +ve value, two objects having the same seed value will possess different random number.
			  マイナスの値では種が同じならば全てのオブジェクトで同じ乱数になります)
			  For -ve value, all objects having the same seed value will have THE SAME random number.
		frame	: フレーム番号(省略時は現在のフレームになります) Frame number (current frame if omitted)
		Example：obj.rand(10,20)

	○obj.setoption(name,value)
		現在のオブジェクトの各種オプションを設定します。
		Set different options for current object.
		※スクリプトの呼び出し毎に指定する必要があります。
		Need to reset evertime the script is called.
		name	: オプション名 Option name
		value	: オプション値 Option value

		◇裏面を表示しない Do not show back side
			obj.setoption("culling",value)
			value	: 0=表示 Show/ 1=非表示 Hide

		◇カメラの方向を向く Face towards camera
			obj.setoption("billboard",value)
			value	: 0=向かない Do not face/ 1=横方向のみ Horizonal direction only/ 2=縦方向のみ Vertical direction only/ 3=向く Face towards camera

		◇シャドーの対象 Target for shadow
			obj.setoption("shadow",value)
			value	: 0=非対象 exclude from target/ 1=対象 include as target

		◇アンチエイリアス Anti-alias
			obj.setoption("antialias",value)
			value	: 0=しない Disable/ 1=する Enable

		◇合成モード Synthesis mode
			obj.setoption("blend",value[,option])
			value	: 0=通常 Normal/ 1=加算 Additive/ 2=減算 Subtractive/ 3=乗算 Multiplicative/ 4=スクリーン Screen
				  5=オーバーレイ Overlay/ 6=比較(明) Brighter / 7=比較(暗) Darker/ 8=輝度 Luminance/ 9=色差 Color difference
				  以下は仮想バッファ専用の合成モードです。The following are usable only for virtual buffer:
				  "alpha_add"=色情報は加重平均してアルファ値は加算します Weighted-mean of color info is added alpha value
				  "alpha_max"=色情報は加重平均してアルファ値は大きい方を採用しますWeighted-mean of color info is applied to the larger end of alpha value
				  "alpha_sub"=色情報は何もせずにアルファ値を減算します Do nothing to color info and simply subtract the alpha value
				  "alpha_add2"=色情報は重ね合わせしてアルファ値は加算します Overlay color info and add alpha value
			option	: "force"=強制指定モード forced mode
			フレームバッファへの描画の合成モードは元々の合成モードが通常の場合のみ反映されます。
			The effect of synthesis mode will be shown in frame buffer only when the original synthesis mode is "normal"
			元々が通常以外の場合で反映させるには"force"オプションを指定してください。
			To reflect the effect of synthesis mode other than "normal", use the "force" option.

		◇描画先を仮想バッファに変更する Convert the drawing canvas to virtual buffer
			obj.setoption("drawtarget","tempbuffer"[,w,h])
			w,h	: 仮想バッファのサイズ(省略時は初期化しません) Virtual buffer size (when omitted, no initialization is performed)
			描画先を仮想バッファにするとobj.draw(),obj.drawpoly()での描画が
			仮想バッファに対して行われます。この場合はオブジェクトの持っている
			座標等の設定は反映せず引数の座標そのままで描画されます。
			obj.draw() and obj.drawpoly() will be performed on the virtual buffer.
			The original coordinate of the object will not be honoured and will use any coordinate
			value supplied in parameters as-is.
			サイズを指定すると仮想バッファを透明色で初期化します。
			If size is set, the virtual buffer will be initialized with the transparent color.
			仮想バッファは全てのオブジェクトで共用になります。
			Virtual buffer is shared across all objects.

		◇描画先をフレームバッファに変更する Convert the drawing canvas to frame buffer
			obj.setoption("drawtarget","framebuffer")
			obj.draw(),obj.drawpoly()の描画先をフレームバッファにします。
			obj.draw() and obj.drawpoly() will be performed on the frame buffer.
			フレームバッファに対してdraw()等で描画を行っていない場合には
			setoption()で変更しなくてもスクリプト終了後には自動的に
			フレームバッファに対しての描画となります。
			draw() will be performed automatically at the end of the script.

		◇スクリプト内でフレームバッファに描画されたかのステータスを変更する Change the drawing status of frame buffer
			obj.setoption("draw_state",flag)
			flag	: true=描画済み finished drawing / false=未描画 not drawn

		◇オブジェクトのフォーカス枠モード Object's focus mode
			obj.setoption("focus_mode",value)
			value	: "fixed_size"=大きさ固定の枠にする Maintain fixed size

		◇カメラのパラメータを設定する Settings for camera options
			カメラの各種パラメータを設定します。
			カメラがエディットモードの時は反映されません。
			Not reflected in camera's edit mode (when the camera itself is visible)
			※カメラ効果、スクリプト(カメラ制御)のみ使用可
			*Only applicable for Camera effects and Script(Camera control)
			obj.setoption("camera_param",cam)
			cam	: カメラのパラメータ(テーブル) camera's parameters
			   .x	: カメラの座標X Camera's X-coordinate
			   .y	: カメラの座標Y Camera's Y-coordinate
			   .z	: カメラの座標Z Camera's Z-coordinate
			   .tx	: カメラの目標座標X X-coordinate for camera's target
			   .ty	: カメラの目標座標Y Y-coordinate for camera's target
			   .tz	: カメラの目標座標Z Z-coordinate for camera's target
			   .rz	: カメラの傾き tilt of camera
			   .ux	: カメラの上方向単位ベクトルX upward vector X for camera
			   .uy	: カメラの上方向単位ベクトルY upward vector Y for camera
			   .uz	: カメラの上方向単位ベクトルZ upward vector Z for camera
			   .d	: カメラからスクリーンまでの距離(焦点距離)Distance between screen and camera (focal length)
			Example：cam = obj.getoption("camera_param");

	○obj.getoption(name,...)
		現在のオブジェクトの各種オプションを取得します。
		Obtain various options for current object.
		name	: オプション名 Option name

		◇トラックバーの移動モード Slider's movement mode
			obj.getoption("track_mode",value)
			value	: トラックバーの番号 Slider's ID
			戻り値	Return value: 0=無し None/ 1=直線 Rectilinear / 2=曲線 Curve/ 3=瞬間 Teleportation/ 4=中間点 midpoint
				  5=移動量 Movement amount/ 6=ランダム Random/ 7=加減速 Acceleration/ 8=反復 Repetition
		◇オブジェクトの区間の数 Object's number of sections
			obj.getoption("section_num")
			戻り値	Return value: 区間の数(中間点の数+1) Number of sections (no. of mid point+1)

		◇スクリプト名を取得する Get script's name
			obj.getoption("script_name"[,value][,skip])
			value	: フィルタ効果の上下の相対位置(0は自分/マイナスは上/プラスは下)
				: relative position to filter effect (0: self; -ve: above; +ve: below)
			skip    : 無効になっているフィルタ効果をスキップするか( true=する / false<デフォルト>=しない )
				: whether to skip disabled filter effect (true: skip; false (default): do not skip)
			戻り値	: スクリプト名(対象がスクリプト以外なら空のテキスト)
			Return value: Script name (empty string if target is not a script)
			例：if obj.getoption("script_name") == obj.getoption("script_name",-1) then
			※標準で入っているスクリプト名は取得出来ません
			*Not applicable for default built-in scripts

		◇GUIの表示状態を調べる Get GUI display status
			obj.getoption("gui")
			戻り値	: true=表示 / false=非表示
			Return value: true= show; falase= hidden
			※動画の出力中は非表示状態になります。
			*"Hidden" during video export.

		◇カメラ制御状態を取得する Get status of camera control
			obj.getoption("camera_mode")
			戻り値	: 0=カメラ制御対象外 / 0以外=カメラ制御対象
			Return value: 0= excluded from camera control; Non-zero: included in camera control

		◇カメラのパラメータを取得する Get parameters of camera
			obj.getoption("camera_param")
			戻り値	: カメラのパラメータ(テーブル)
			Return value: camera's parameter(table)
			※テーブルの内容はobj.setoption("camera_param")と同じです。
			*table's content is the same as obj.setoption("")
			例：cam = obj.getoption("camera_param");

		◇個別オブジェクトが有効かを調べる Investigate if an individual object is enabled
			obj.getoption("multi_object")
			戻り値	: true=有効 / false=無効
			Return value: true= enabled; false= disabled

	○obj.getvalue(target[,time,section])
		現在のオブジェクトの設定値を取得します。
		Get the setting values for current value.
		target	: 設定種別 Setting type
			  0=トラックバー0の値 value for slider 0
			  1=トラックバー1の値 value for slider 1
			  2=トラックバー2の値 value for slider 2
			  3=トラックバー3の値 value for slider 3
			  "x"=基準座標X ref. coordinate X
			  "y"=基準座標Y ref. coordinate Y
			  "z"=基準座標Z ref. coordinate Z
			  "rx"=基準X軸回転角度 ref. coordinate X's turn angle
			  "ry"=基準Y軸回転角度 ref. coordinate Y's turn angle
			  "rz"=基準Z軸回転角度 ref. coordinate Z's turn angle
			  "zoom"=基準拡大率(100=等倍) ※obj.zoom(1.0=等倍)と異なっているので注意
				=ref. magnification(100= original size) *Beware that this is different from obj.zoom(1.0=original)
			  "alpha"=基準不透明度(0.0〜1.0/0.0=透明/1.0=不透明) 
				 =Opacity (0.0-1.0; 0.0=transparent; 1.0=opaque)
			  "aspect"=基準アスペクト比(-1.0〜1.0/プラス=横縮小/マイナス縦縮小)
				  =Aspect ratio(-1.0-1.0; +ve= shrink horizontal; -ve= shrink vertical)
			  "time"=オブジェクト基準の時間 object ref time
			  "layer7.x"=レイヤー7のオブジェクトの基準座標X ref coordinate X for Layer7's object
			  ※layer[レイヤー番号].[設定種別]で別レイヤーのオブジェクトの値を取得出来ます
			  *Property for objects on other layer can be obtained using layer[layer ID].[setting type]
			  "scenechange"=シーンチェンジでの表示割合(0.0〜1.0) シーンチェンジのみ使用可
					=Display interval for scene change (0.0-1.0). Usable for scene change only.
			  ※使い方はシーンチェンジスクリプトの例を参照してください
			  *For usage, please refer to the scene change script example
		time	: どの時点の値を取得するかの時間(秒)(省略時は現時間) The time point when the value is retrieved.
		section	: 時間の基準となる区間の番号(省略時は開始点) Section's number which is a base ref of time (default to start pt. when omitted)
			  0=開始点 Start/ 1=最初の中間点 first midpt./ 2=2個目の中間点 second midpt./ -1=終了点 end pt.
			  ※対象オブジェクトの時間制御は反映されません。
			  *Effect of time control on object is not shown.

	○obj.setanchor(name,num[,option,..])
		アンカーポイントを表示します。Show anchor point.
		この関数を呼び出した時にアンカーポイントの表示設定と
		アンカーが移動していた場合の変数への反映を行います。
		この関数は呼び出し毎に8回まで呼び出す事が出来ます。
		Everytime this function is used, a maximum of 8 times can be called.
		呼び出し順序や回数を変更すると正しく反映されない場合があります。
		name	: --dialogで指定されている座標を格納する変数名を指定します。※変数名を文字列として指定
			  "track"を指定すると--track0から指定されているトラックバーの始点終点中間点の値を参照します。
			  ※直接テーブル変数名を指定するとアンカー表示や移動なしで線だけを表示します。
			: set the variable name for storing the coordinate as specified by --dialog. *variable name is defined as text string
			 when "track" is defined, slider's start pt., mid pt. and end pt. can be referenced.
			 *When table's variable name is defined, anchor will not be shown nor move, a line will be shown instead.
		num	: アンカーポイントの数を指定します。全てのアンカー合計で16個まで指定できます。
			  name="track"の場合は0を指定して下さい。アンカーポイント数は開始終了中間点の数になります。
			: Set the number of anchor points. Max 16 points.
			  Please set to 0 when name="track". Anchor pt. count will becomes start pt., mid pt. and end pt. numbers.
		option	: 各種オプションを列挙出来ます。List various options.
			  "line"=アンカーポイントを線で結びます。Join anchor points with lines.
			  "loop"=アンカーポイントを線で結び一周させます。Join anchor points with line in one loop.
			  "star"=アンカーポイントをオブジェクトの中心とそれぞれ線で結びます。join anchor point to center and surrounding lines
			  "arm"=アンカーポイントとオブジェクトの中心を線で結びます。Join anchor point to object center with a line
			  "color"=上記オプションの線の色を変更します。後続の引数に色(0x000000〜0xffffff)を指定します。Change the line color for above options.
			  "inout"=上記オプションの線の表示をIN,OUT側の2個として表示します。(アンカー数は半々になります) Separate the lines generated using above options as IN-side and OUT-side.
			  "xyz"=アンカーポイントを3D座標で制御します。Control anchor point using 3D coordinate ※デフォルトは2D座標 *Default is 2D coordinate
			  ※カメラ制御+シャドーで使用する場合にプレビューで影部分が少しずれる場合があります。
			  *When used with camera control and shadow, the shadow shown in preview may drift away a bit.
		戻り値	Return Value: 取得したアンカーポイントの数 No. of anchors obtained.
		Example：obj.setanchor("pos",3)
		    n = obj.setanchor("track",0,"line")

	○obj.getaudio(buf,file,type,size)
		音声ファイルからオーディオデータを取得します。
		Get sound data from audio file.
		オブジェクトの時間を基準とした位置のデータを取得します。
		Positional data is obtained with reference to object's time frame.
		buf	: データを受け取るテーブルを指定します。Specify the table to receive the data.
			　※nilを指定すると第3戻り値でテーブルを返します。
			  *when nil is specified, table is returned using the 3rd return value.
		file	: 音声ファイル名("audiobuffer"を指定すると編集中の音声データが取得出来ます)
			: file name. (use "audiobuffer" for editing audio data)
		type	: 取得データの種類 Data type
			  "pcm"=PCMサンプリングデータ(16bitモノラル) PCM sampling data(16bit mono)
			  "spectrum"=周波数毎の音量データ Frequency-dependent volume data
			  "fourier"=音声を離散フーリエ変換したデータ(sizeの指定は不要) Fourier transformed data (size parameter not required)
			　 ※元周波数の1/2048〜1/2まで1/2048刻みの1024個のデータになります(たぶん…
		size	: 取得するデータ数(指定した値より少ない場合があります) Obtained data size (may be smaller than actual specified value)
		戻り値	Return value: 取得したデータ数,サンプリングレート Obtained data size, sampling rate
		Example：n = obj.getaudio(buf,"audiobuffer","spectrum",32)
		    n,rate = obj.getaudio(buf,"c:\\test.wav","pcm",1000)
		    n,rate,buf = obj.getaudio(nil,"c:\\test.wav","pcm",1000)

	○obj.filter(name[,param1,value1,param2,value2,...])
		指定のスクリーン全体へのフィルタ(フィルタオブジェクト)を実行します。
		Apply filter to the whole screen (filter object).
		拡張編集プラグインで追加されたフィルタのみ使用出来ます。
		Only filters built-in to exedit can be used.
		引数の指定方法はobj.effect()と同様になります。
		Parameters are the same as obj.effect().
		フィルタによっては正しく使用出来ない場合があります。
		Some filters may not work correctly.
		※オブジェクトの画像データが壊れる場合があります。
		*Image data of object may be corrupted.
		例：obj.filter("色調補正","明るさ",150,"色相",180)
		Example: obj.filter("Color compensation","Lightness",150,"Hue",180)

	○obj.copybuffer(dst,src)
		画像バッファをコピーします。
		Copy image buffer.
		※コピー先の画像バッファのサイズはコピー元のサイズに変更されます。
		*Size of destination buffer will be resized to match the size of source buffer.
		dst	: コピー先のバッファ Destination buffer
			  "tmp"=仮想バッファ Virtual buffer
			  "obj"=オブジェクト Object
			  "cache:xxxx"=キャッシュバッファ(xxxxは任意の名前) Cache buffer (xxxx is any arbitary name)
		src	: コピー元のバッファ Source buffer
			  "frm"=フレームバッファ Frame buffer
			  "obj"=オブジェクト Object
			  "tmp"=仮想バッファ Virtual buffer
			  "cache:xxxx"=キャッシュバッファ(xxxxは任意の名前) Cache buffer (xxxx is any arbitary name)
			  "image:xxxx"=画像ファイル(xxxxはスクリプトフォルダからの相対パスの画像ファイル名) Image file(xxxx is the file's relative path to the script)
		戻り値	Return value: true=成功Success / false=失敗Failed
		※dstとsrcの組み合わせは以下のものが使用できます。
		* The following combination of source and destination can be used:
		    "obj" <= "tmp"
		    "obj" <= "frm"
		    "obj" <= "cache:xxxx"
		    "obj" <= "image:xxxx"
		    "tmp" <= "obj"
		    "tmp" <= "frm"
		    "tmp" <= "cache:xxxx"
		    "tmp" <= "image:xxxx"
		    "cache:xxxx" <= "obj"
		    "cache:xxxx" <= "tmp"
		キャッシュバッファの名前は全てのオブジェクトで共通となります。
		The name of cache buffer is accessible to all objects.
		キャッシュバッファや仮想バッファは画像データのキャッシュから確保されるので
		他の画像等をキャッシュ数より読み込むと破棄される場合があります。
		Since the data in cache buffer and virtual buffer are reserved from the cache,
		their data may be discarded if anything else read in to the cache.
		※小さい画像等の場合は面積の合計が最大画像サイズ分で一つのキャッシュ分になります。
		*For a series of small images, the cache size will match the one with largest size.
		※キャッシュを使う場合はスクリプトの呼び出し毎に完結させた方が無難です。
		* it may be a good idea to use cache when finished calling a script.

	○obj.getpixel(x,y[,type])
		現在のオブジェクトのピクセル情報を取得します。
		Get pixel info of current object.
		引数なしで呼ぶとオブジェクトのピクセル数を取得できます。
		Calling without arguments will return the pixel count of object.
		※ピクセル数はobj.w,obj.hと異なる場合があります。(色々あって分かりづらくなってます…)
		*Pixel count may be different from obj.h and obj.w.
		x,y	: 取得するピクセルの座標 Coordiante of the pixel to get.
		type	: ピクセル情報のタイプ Type of pixel info ("col","rgb","yc")
			　※省略時は obj.pixeloption("type") で指定したタイプ(通常は"col")
			  * when omitted, the type defined in obj.pixeloption("type") will be used. (usually "col")
		戻り値	Return value: タイプが"col"の場合 when type="col"
				色情報(0x000000〜0xffffff)と不透明度(0.0=透明/1.0=不透明)
				Color info(0x000000〜0xffffff) and opacity (0.0=transparent; 1.0=opaque)
				col,a = obj.getpixel(0,0,"col")
			  タイプが"rgb"の場合 when type= "rgb"
				各8bit(0〜255)のRGBA情報
				8bit info for each of RGBA
				r,g,b,a = obj.getpixel(0,0,"rgb")
			  タイプが"yc"の場合 when type= "yc"
				YCbCr内部形式
				YCbCr internal format
				y,cb,cr,a = obj.getpixel(0,0,"yc")
			  引数なし No argument
				横、縦のピクセル数
				Horizontal and vertical pixel count
				w,h = obj.getpixel()

	○obj.putpixel(x,y,...)
		現在のオブジェクトのピクセル情報を書き換えます。
		Overwrite pixel info of current object.
		引数なしで呼ぶとオブジェクトのピクセル数を取得できます。
		Calling without argument returns the pixel count.
		受け渡すピクセル情報のタイプは obj.pixeloption("type") で指定したタイプになります。
		Pixel info type is set using obj.pixeloption("type").
		x,y	: 書き換えるピクセルの座標 Coordinate of the pxiel to be overwrite.
		色情報	: タイプが"col"の場合 when type="col"
				色情報(0x000000〜0xffffff)と不透明度(0.0=透明/1.0=不透明)
				Color info(0x000000〜0xffffff) and opacity (0.0=transparent; 1.0=opaque)
				obj.putpixel(0,0,col,a)
			  タイプが"rgb"の場合 when type= "rgb"
				各8bit(0〜255)のRGBA情報
				8bit info for each of RGBA
				obj.putpixel(0,0,r,g,b,a)
			  タイプが"yc"の場合 when type= "yc"
				YCbCr内部形式
				YCbCr internal format
				obj.putpixel(0,0,y,cb,cr,a)

	○obj.copypixel(dst_x,dst_y,src_x,src_y)
		現在のオブジェクトのピクセル情報をコピーします。
		Copy current object's pixel info.
		dst_x,dst_y	: コピー先の座標 Destination coordinate
		src_x,src_y	: コピー元の座標 Source coordinate

	○obj.pixeloption(name,value)
		obj.getpixel(),obj.putpixel(),obj.copypixel() の処理オプションを設定します。
		Set the options for obj.getpixel(),obj.putpixel() and obj.copypixel().
		※スクリプトの呼び出し毎に指定する必要があります。
		*Need to reset everytime the script is run.
		name	: オプション名 Option name
		value	: オプション値 Option value

		◇ピクセル情報タイプを指定する Set pixel info type
			obj.pixeloption("type",value)
			value	: "col" / "rgb" / "yc"

		◇ピクセル情報の読み出し先を指定する Set the target to store extracted pixel info
			obj.pixeloption("get",value)
			value	: "obj"=オブジェクト Object / "frm"=フレームバッファ Frame buffer (アルファ値がありません No alpha)

		◇ピクセル情報の書き込み先を指定する Set the target for writing pixel info
			obj.pixeloption("put",value)
			value	: "obj"=オブジェクト Object/ "frm"=フレームバッファ Frame buffer(アルファ値がありません No alpha)

		◇書き込む時のブレンドタイプを指定する Set the blending type when writing
			obj.pixeloption("blend",value)
			value	: 引数なしNo argument =置き換えReplace / 0=通常Normal / 1=加算Add / 2=減算Sub / 3=乗算Mult / 4=スクリーンScreen
				  5=オーバーレイOverlay / 6=比較(明)Brighter / 7=比較(暗)Darker / 8=輝度Luminance / 9=色差Color diff.

	○obj.getpixeldata([option,...])
		現在のオブジェクトの画像データを読み出します。
		Read image data from current object.
		この関数はDLLを利用して画像処理をする為のものです。
		This function is intended to use with image processing by DLL.
		画像データは現在のオブジェクト画像の解像度でRGBA(32bit)形式で格納されます。
		Image data is stored as RGBA(32bit) with current object's resolution.
		画像データの内容はdraw(),effect()等の描画処理系の関数を使用すると
		壊れますので必要であれば別の領域にコピーして処理して下さい。
		Using draw() and effect() with it may corrupt image data. Please copy the image data
		to somewhere else prior using the above two functions.
		option	: 各種オプションを列挙出来ます。List available options.
			  "work"=画像と同じサイズのワークバッファのポインタを取得します。
				Get a pointer for a work buffer having the same size as the image.
			  "alloc"=メモリ(フルユーザデータ)を確保して格納します
				  Reserve and store into memory(full user data)
		戻り値	: データのポインタ(ユーザーデータ),横,縦のピクセル数
		Return value: Pointer for data(user data), horizontal and vertical pixel count.
		Example：data,w,h = obj.getpixeldata()
		    work = obj.getpixeldata("work")

	○obj.putpixeldata(data)
		現在のオブジェクトへ画像データを書き込みます。
		Write image data into current object.
		この関数はDLLを利用して画像処理をする為のものです。
		This function is intended to use with image processing by DLL.
		getpixeldata()で取得出来る画像データ形式と同じ物を
		現在のオブジェクトに書き込みます。画像データの解像度は
		オブジェクトと同じでなけれなばなりません。
		Data format is the same as those obtained by using getpixeldata(). Note that
		image resolution must match current object.
		data	: 画像データへのポインタ(ユーザーデータ) Pointer to image data(user data)
		Example：obj.putpixeldata(data)

	○obj.getpoint(target[,option])
		トラックバーの値を取得します。
		Get slider's value.

		target	: 整数Integer=各区間でのトラックバー値 Slider value for different sections
				0=開始点Start / 1=最初の中間点First midpt. / 2=2個目の中間点2nd midpt. / ...
				optionで取得する関連トラックの相対位置を指定することが出来ます。
				relative position of associated track obtained by option can be set.
			  "index"=現在の区間での位置を取得します。Get the position of current section
				開始点と最初の中間点の間の場合は0.5等の少数で表されます。
				for points between the start pt and the first midpt, the value is a decimal number such as 0.5
			  "num"=開始終了中間点の総数を取得します。Get the total number of start+end+midpts.
			  "time"=現在の時間を取得します。Get the current time
				optionで時間を取得する区間を指定することができます。
				The section for time extraction can be set using option.
			  "accelerate"=加速度が設定されているかを取得します。Check if acceleration is set.
				戻り値 Return: true=有効Enabled / false=無効Disabled
			  "decelerate"=減速度が設定されているかを取得します。Check if deceleration is set.
				戻り値 Return: true=有効Enabled / false=無効Disbaled
			  "param"=トラックバーの設定値を取得します。get slider's settings.
			  "link"=関連トラックでのインデックスと総数を取得します。Get associated track's index and total
				index,num = obj.getpoint("link")
				関連トラックは座標等で他のトラックの値を取得する為に使用します。
				X座標での戻り値：0,3 / Y座標での戻り値：1,3 / Z座標での戻り値：2,3

	○obj.getinfo(name,...)
		各種環境情報を取得します。
		Get various environment info.
		name	: 取得する情報の名前 Info name

		◇スクリプトフォルダのパスを取得する Get script's folder path
			obj.getinfo("script_path")
			戻り値	: スクリプトフォルダのパス

		◇動画の出力中かを調べる Check if video is being exported
			obj.getinfo("saving")
			戻り値	: true=出力中Exporting / false=非出力中Not exporting

		◇最大画像サイズを取得する Get maximum image size
			max_x,max_y = obj.getinfo("image_max")
			戻り値	: 最大画像サイズ(横幅,高さ)

	○obj.interpolation(time,x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z3)
		連続した点p0(x0,y0,z0),p1(x1,y1,z1),p2(x2,y2,z2),p3(x3,y3,z3)から
		時間time(0〜1)に応じたp1,p2間の座標を計算します。
		Calculate the time-dependent midpt. between p1 and p2.
		※y,z座標は省略することが出来ます。
		*y- and z- value can be omitted.
		例：x,y,z = obj.interpolation(time,x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z3)
		    x,y = obj.interpolation(time,x0,y0,x1,y1,x2,y2,x3,y3)

	○RGB(r,g,b)
		色情報(0x000000〜0xffffff)と赤(0〜255),緑(0〜255),青(0〜255)各要素の相互変換をします。
		Interconversion between color info and RGB components.
		r,g,bを2つ指定した場合はオブジェクトの時間経過に応じて色を変化させます。
		If two sets of RGB value are supplied, color will change over time.
		Example：col = RGB(r,g,b)
		    r,g,b = RGB(col)
		    col = RGB(r1,g1,b1,r2,g2,b2)

	○HSV(h,s,v)
		色情報(0x000000〜0xffffff)と色相(0〜360),彩度(0〜100),明度(0〜100)各要素の相互変換をします。
		Interconversion between color info and HSV components.
		h,s,vを2つ指定した場合はオブジェクトの時間経過に応じて色を変化させます。
		If two sets of HSV value are supplied, color will change over time.
		Example：col = HSV(h,s,v)
		    h,s,v = HSV(col)
		    col = HSV(h1,s1,v1,h2,s2,v2)

	○OR(a,b) / AND(a,b) / XOR(a,b)
		OR,AND,XORのビット演算をします。Bitwise OR, AND, XOR operations.
		Example：c = OR(a,b)

	○SHIFT(a,shift)
		算術シフトをします。shiftが正の数だと左シフト、負の数だと右シフトになります。
		Perform arithmatic shift. +ve to shift left, -ve to shift right.
		Example：b = SHIFT(a,1)

	○debug_print(text)
		指定の文字をOutputDebugString()に送ります。デバッグ用です。
		Send specific string to OutputDebugString() for debug use.
		※スクリプト実行エラーのメッセージは自動的にOutputDebugString()に
		送られるようになっています。
		*Script's error message is sent to OutputDebugString() automatically.
		text	: デバッグ表示文字 Debug text
		例 : debug_print("デバッグ表示")
		Example: debug_print("Show debug message")


- 使用例 -
- Examples -

	○テキスト内でスクリプトを使う例
	○Using Script inside text object
		以下のテキストでオブジェクト時間のタイムカウンタが表示します。
		The following text act as a counter for showing object's time.

		PresentObjectTime=<?mes(string.format("%02d:%02d.%02d",obj.time/60,obj.time%60,(obj.time*100)%100))?>

	○オブジェクトの座標や角度を時間経過で変化させる例
	○Change object's coordinate and angle over time
		以下のスクリプトで時間と共に右方向に移動しながら右回転します。
		The following script move object to the right and turn clockwise as it move.

		obj.ox = obj.ox + obj.time*10
		obj.rz = obj.rz + obj.time*360

	○オブジェクトにフィルタ効果をかける例
	○Appling filter effect on object
		以下のスクリプトで時間と共に明るくなったり暗くなったりします。
		The following script brighten and darken object repeatedly over time.

		i = math.cos(obj.time*math.pi*2)*50
		obj.effect("Color compensation","Lightness",100+i)

	○オブジェクトを複数描画させる例
	○Drawing multiple objects
		以下のスクリプトでオブジェクトを円状に10個描画します。
		The following script draw 10 circles.

		n = 10
		l = obj.w*2
		for i=0,n do
		  r = 360*i/n
		  x = math.sin(r*math.pi/180)*l
		  y = -math.cos(r*math.pi/180)*l
		  obj.draw(x,y,0,1,1,0,0,r)
		end

	○スクリプトファイル内でトラックバー、チェックボックスの値を使う例
	○Using slider and checkbox in script file
		スクリプトファイル(*.anm,*.obj,*.scn,*.cam)の先頭で'--track0:名前,最小値,最大値,デフォルト値,移動単位'
		のように指定するとトラックバーが有効になります。移動単位は'1','0.1','0.01'か省略が出来ます。
		To enable a slider, put the following at the start of a line:
		--track0:Name, MinValue, MaxValue, DefaultValue, MovementUnit
		MovementUnit can be omitted or numeric like 1, 0.1, 0.01.
		最大4個のトラックバーが使用できます。※シーンチェンジでは最大2個になります。
		A max of 4 sliders can be used. *Max 2 sliders only for scene change.
		'--check0:名前,デフォルト値(0か1)'のように指定するとチェックボックスが有効になります。
		To enable checkbox, add the following at the start of a line: --check0: Name, DefaultValue(0 or 1)

		--track0:X-Speed,-10,10,0
		--track1:Y-Speed,-10,10,0,1
		--check0:Gravity,0
		obj.ox = obj.ox + obj.track0*obj.time
		obj.oy = obj.oy + obj.track1*obj.time
		if( obj.check0 ) then
		  obj.oy = obj.oy + obj.time*obj.time
		end

	○スクリプトファイル内でパラメータ設定を使う例
	○Using parameters in script file
		スクリプトファイル(*.anm,*.obj,*.scn,*.cam)の先頭で'--param:デフォルト設定'のように指定すると
		パラメータ設定の項目が有効になります。最大255バイトまで。
		Parameter settings can be enabled by adding: --param: DefaultSetting
		Max 255 bytes.
		※--color,--file,--dialogと同時に指定出来ません。
		*Cannot be used at the same time with --color, --file and --dialog

		--param:dx=10;dy=20;
		obj.ox = obj.ox + dx*obj.time
		obj.oy = obj.oy + dy*obj.time

	○スクリプトファイル内で色選択ダイアログを使う例
	○Using color selection dialog in script file
		スクリプトファイル(*.anm,*.obj,*.scn,*.cam)の先頭で'--color:デフォルト設定'のように指定すると
		色選択ダイアログの項目が有効になります。
		Enable color selection dialog by adding: --color: DefaultSetting
		指定した色は変数(color)に格納されます
		Defined color is stored in the "color" variable.
		※--color,--file,--dialogと同時に指定出来ません。
		*Cannot be used at the same time with --color, --file and --dialog

		--color:0xffffff
		obj.load("figure","Square",color,100)

	○スクリプトファイル内でファイル選択ダイアログを使う例
	○Using file selection dialog in script file
		スクリプトファイル(*.anm,*.obj,*.scn,*.cam)の先頭で'--file:'のように指定すると
		ファイル選択ダイアログの項目が有効になります。
		Enable it by adding: --file:
		指定したファイルは変数(file)に格納されます
		The specified file is stored in the "file" variable.
		※--color,--file,--dialogと同時に指定出来ません。
		*Cannot be used at the same time with --color, --file and --dialog

		--file:
		obj.load(file)

	○スクリプトファイル内で値入力ダイアログを使う例
	○Using value input dialog
		スクリプトファイル(*.anm,*.obj,*.scn,*.cam)の先頭で'--dialog:表示名,変数名=初期値;'のように指定すると
		値入力ダイアログの項目が有効になります。最大16項目まで指定出来ます。
		Enable by adding: --dialog:DisplayName, VariableName=InitialValue
		A max of 16 items can be defined.
		表示名の最後を'/chk','/col','/fig'にするとチェックボックスや色や図形の選択ボタンが追加されます。
		Checkbox, color selection button and shape selection button can be appended by adding '/chk','/col','/fig' after DisplayName.
		チェックボックスと選択ボタンはそれぞれ最大4項目まで指定出来ます。
		A max of 4 checkbox or buttons can be defined.
		※--color,--file,--dialogと同時に指定出来ません。
		*Cannot be used at the same time with --color, --file and --dialog

		--dialog:X-offset,x=100;Y-offset,y=100;
		obj.ox = obj.ox + x
		obj.oy = obj.oy + y

		--dialog:Size,size=100;Color/col,col=0xffffff;Shape/fig,fig="Square"
		obj.load("figure",fig,col,size)

	○アニメーション効果、カスタムオブジェクトを1ファイルで複数登録する例
	○Registering multiple animation effect or custom object in a single file
		スクリプトファイル(*.anm,*.obj,*.scn,*.cam)のファイル名の先頭を'@'にして
		以下のように各スクリプトの先頭に'@名前'のように定義すると
		複数のスクリプトを纏めて定義することが出来ます。
		By naming a script file starting with '@' and Add '@IndividualScriptName'
		at the start of each script, multiple scripts can be bundled in a single file.
		※exedit.anm,exedit.objのスクリプトもこの形式になっています。
		*exedit.anm and exedit.obj also use this format.

		◇複数登録する場合のファイル内容 [@複数登録例.anm]
		◇Sample file content for registering multiple scripts[@MultipleScriptsEx.anm]
		@sample1
		--track0:Speed,-10,10,10
		obj.ox = obj.ox + obj.track0*obj.time
		@sample2
		--track0:Speed,-10,10,10
		obj.oy = obj.oy + obj.track0*obj.time

		◇単独登録する場合のファイル内容 [単独登録例.anm]
		◇Sample file content for a single script[SingleScriptEx.anm]
		--track0:Speed,-10,10,10
		obj.ox = obj.ox + obj.track0*obj.time

	○シーンチェンジスクリプトの例
	○Script for Scene change
		以下のスクリプトで時間と共にクロスフェードします。
		The following script will perform cross-fade.
		シーンチェンジスクリプトではフレームバッファにシーンチェンジ後の画像
		オブジェクトにシーンチェンジ前の画像が入っていてどちらを表示するかの
		割合をobj.getvalue("scenechange")で取得して処理します。
		Whether to show the image in object(starting image), in frame buffer(final image) 
		or something inbetween, is determined by "obj.getvalue("scenechange")"
		※0ならオブジェクト、1ならフレームバッファ側になります。
		*0 for starting object, 1 for final image in frame buffer.

		a = 1-obj.getvalue("scenechange")
		obj.draw(0,0,0,1,a)

	○アンカーポイントの表示と座標の取得をする例
	○Showing anchor point and getting its coordinate
		以下のスクリプトでアンカーポイントの表示と座標の取得をします。

		◇ダイアログの変数を使う場合
		◇When using variable defined in dialog
		--dialog:Coord,pos={}
		num = 3
		obj.setanchor("pos",num,"loop");
		for i=0,num-1 do
			x = pos[i*2+1]
			y = pos[i*2+2]
		end
		※3D座標の場合はXYZの3座標ずつ配列に入ります。
		※pos={}は初期値を入れておくことも出来ます。

		◇トラックバーを使う場合
		◇When using slider and 3D coordinate
		--track0:X,-1000,1000,0
		--track1:Y,-1000,1000,0
		--track2:Z,-1000,1000,0
		num = obj.setanchor("track",0,"xyz","line");
		for i=0,num-1 do
			x = obj.getvalue(0,0,i)
			y = obj.getvalue(1,0,i)
			z = obj.getvalue(2,0,i)
		end

		◇複数回のobj.setanchor()を使う場合
		◇Using obj.setanchor() for multiple times
		--dialog:Coord1,pos1={};Coord2,pos2={}
		obj.setanchor("pos1",4,"loop","color",RGB(0,255,255));
		obj.setanchor("pos2",2,"line","color",RGB(0,255,0));
		※同じダイアログの変数を複数で使うことは出来ません。
		*Variable from the same dialog cannot be used for multiple times.

	○トラックバー変化方法スクリプトの例
	○Changing slider
		以下のスクリプトでトラックバーの値を開始点から終了点まで等速で変化させます。
		The following script change a slider's value at constant speed from the beginning to the end.
		トラックバー変化方法スクリプトでは通常のオブジェクト関係の変数や関数は使用出来ません。
		Usual object-related variable and functions cannot be used in slider-changing script.
		スクリプトファイル(*.tra)の先頭で'--twopoint'のように指定すると中間点を無視する変化方法になります。
		By adding '--twopoint' ot the start of script file(*.tra), midpoints are ignored.
		'--param:初期値(整数)'のように指定するとトラックバー設定が出来るようになります。
		Slider setting can be done using '--param:Initial value(Integer)'
		'--speed:加速初期値(0/1),減速初期値(0/1)'のように指定すると加減速の設定が出来るようになります。
		Ac/Deceleration can be set using '--speed:Initial Acceleration Value(0/1), Initial Deceleration Value(0/1)'

		index,ratio = math.modf(obj.getpoint("index"))
		st = obj.getpoint(index);
		ed = obj.getpoint(index+1);
		return st + (ed-st)*ratio;


- 履歴 -

	[2011/2/28] ver 0.87f
	obj.effect()で画像が無くなるような処理をした場合に正しく反映されていなかったのを修正。
	obj.load()でファイル名に全角文字が含まれている画像ファイルが読み込めなかったのを修正。
	obj.load()で動画ファイルが読み込めなかった時に警告ダイアログが表示されていたのを修正。
	obj.load()のテキスト読み込みがテキストオブジェクトでは使用出来ない説明を追加。
	obj.effect()にスクリプト以降のフィルタ効果を実行する機能を追加。

	[2011/3/29] ver 0.87g
	obj.effect()でサイズ等のパラメータに変化があった場合に反映されていなかったのを修正。
	obj.drawpoly(),obj.setoption()を追加した。
	obj.setfont()に色のパラメータを追加した。
	ダイアログ選択機能(--color,--file)を追加した。

	[2011/3/30] ver 0.87h
	obj.effect()の処理後にいくつかのパラメータが元の値に戻っていたのを修正。

	[2011/4/10] ver 0.87i
	色選択ダイアログでキャンセルした場合に色が元に戻っていなかったのを修正。
	ダイアログ選択機能(--dialog)を追加した。
	obj.getoption()を追加した。

	[2011/4/25] ver 0.88
	--dialogの定義で使用する文字によっては正常に動作しなかったのを修正。
	obj.draw(),obj.drawpoly()でobj.setoption()のblendが反映されていなかったのを修正。
	obj.effect()でトラックバー、チェックボックス以外の設定値も反映するようにした。

	[2011/5/8] ver 0.88a
	obj.effect()で正しく設定値が反映されない場合があったのを修正。
	obj.setoption()のblendは描画オブジェクトの合成モードが標準の場合に反映するようにした。
	--dialogで入力出来る項目数の最大を12個に増やした。

	[2011/5/30] ver 0.88b
	obj.getoption()で取得出来る情報の種類を追加した。
	obj.getvalue()を追加した。

	[2011/6/20] ver 0.89
	obj.getvalue()で標準描画オブジェクトのZ座標を取得した場合も値を返すようにした。
	obj.getvalue()で別レイヤーのオブジェクトの値を取得出来るようにした。

	[2011/7/19] ver 0.89b
	obj.getaudio(),obj.getpixel()を追加した。

	[2011/8/1] ver 0.89c
	obj.getpixel()のピクセルタイプを省略出来るようにした。
	obj.putpixel(),obj.copypixel(),obj.pixeloption()を追加した。
	--dialogでダイアログに値が正しく反映されない場合があったのを修正。

	[2011/8/22] ver 0.89d
	スクリプトの名前によっては正常に動作しなかったのを修正。
	obj.getaudio()で"audiobuffer"を使用した時にカメラ制御が効かなくなっていたのを修正。

	[2011/8/29] ver 0.89e
	--dialogでダイアログに値が正しく反映されない場合があったのを修正。

	[2011/9/5] ver 0.89f
	--dialogで値を変更した時に設定内容が正しく表示されない場合があったのを修正。
	obj.getvalue()で正しい値が取得出来ない場合があったのを修正。

	[2011/10/2] ver 0.89g
	obj.rand()で条件によっては似た値が出やすくなっていたのを修正。
	obj.drawpoly()でuv座標を省略出来るようにした。
	obj.load()にアルファ付き動画ファイル用のパラメータを追加した。
	obj.load(),obj.setoption()に仮想バッファ関連を追加した。
	obj.copybuffer()を追加した。
	obj.getvalue()で取得出来る情報の種類を追加した。
	--trackで値の変更単位を設定出来るようにした。
	シーンチェンジスクリプトの説明を追加した。

	[2011/10/16] ver 0.89h
	obj.load()の"framebuffer","tempbuffer"にパラメータを追加した。
	obj.setoptionの"blend"に仮想バッファ専用の合成モードを追加した。
	--dialogの定義でチェックボックスや色や図形の選択を設定出来るようにした。

	[2011/11/7] ver 0.89i
	シーンチェンジスクリプトで使用できるトラックバーの数を最大2個に変更した。
	obj.filter()を追加した。

	[2011/11/19] ver 0.89j
	package.path,package.cpathの初期値をexedit.aufがあるフォルダとscriptフォルダに変更した。
	obj.setoption()の仮想バッファ関連の引数を変更。※以前のままでも使用出来ます。
	obj.setanchor(),RGB(),OR(),AND(),XOR(),SHIFT()を追加した。
	obj.setanchor()を使用したアンカーポイント制御の説明を追加した。

	[2011/11/23] ver 0.89j2
	obj.getinfo(),obj.getpixeldata(),obj.putpixeldata()を追加した。
	obj.setanchor()のオプションを追加した。

	[2011/12/5] ver 0.89k
	obj.setoption()の"antialias"の設定が仮想バッファ描画時に反映されていなかったのを修正。
	obj.getpixeldata(),obj.putpixeldata()が正しく動いていなかったのを修正。
	obj.setanchor()の戻り値が返らない時があったのを修正。
	obj.rx,obj.ry,obj.rzの初期角度に基準回転角度を入れるようにした。
	obj.cx,obj.cy,obj.czを追加した。

	[2011/12/26] ver 0.89l
	フィルタ効果をタイムラインに配置した場合にobj.setanchor()が表示されなかったのを修正。
	RGB()でオブジェクトの時間経過で色を変化させる設定方法を追加した。
	obj.getoption()に"camera_param","camera_mode","gui"を追加した。
	obj.setoption()に"camera_param","draw_state"を追加した。
	obj.getinfo()に"saving"を追加した。
	obj.copybuffer()の引数の種類を追加した。
	obj.interpolation(),HSV()を追加した。

	[2011/12/29] ver 0.89l3
	obj.getoption(),obj.setoption()の"camera_param"の設定を追加した。

	[2012/1/9] ver 0.89m
	音声オブジェクトに対してobj.getvalue()で座標等の取得をした時に落ちていたのを修正。
	obj.getvalue()のtargetに"alpha","aspect"を追加した。
	obj.setanchor()のoptionに"inout","color"を追加した。
	obj.setanchor()を複数回呼び出せるようにした。

	[2012/1/22] ver 0.89m2
	obj.setoption()の"blend"にオプションを追加した。
	obj.setanchor()に線だけを表示する方法を追加した。
	obj.getpixeldata()に"type"のオプションを追加した。

	[2012/1/29] ver 0.89n
	obj.getoption()の"gui"で対象の設定ダイアログが非表示の時にtrueになる事があったのを修正。
	--dialogの最初の色設定(/col)のボタンをオブジェクト設定ダイアログにも表示するようにした。
	--check0をダイアログ(--dialog等)と同時に使えるようにした。

	[2012/3/4] ver 0.89o
	1ドットのオブジェクトに対してobj.getpixeldata()をした時に落ちていたのを修正。
	obj.getpixeldata()で横幅が奇数の時にゴミが入る場合があったのを修正。
	obj.setoption()に"focus_mode"を追加した。
	スクリプトの読み込みバッファを増やした。
	--dialogで入力出来る項目数の最大を16個に増やした。
	スクリプトファイルをUTF-8に変換しないで実行するようにした。

	[2012/3/13] ver 0.89p
	スクリプト制御、テキストオブジェクトをUTF-8に変換しないで実行するようにした。

	[2012/3/24] ver 0.89p2
	mes(),obj.load()の"text"でUnicodeタグ(10進数)を表示できるようにした。
	スクリプト制御、テキストオブジェクトのUnicode文字をタグに変換して処理するようにした。

	[2012/4/8] ver 0.90
	obj.copybuffer()の引数の種類に"cache","image"を追加した。

	[2012/5/27] ver 0.90b
	obj.getaudio()の戻り値にサンプリングレートを追加した。

	[2012/6/17] ver 0.90c
	obj.getaudio()のtypeに"fourier"を追加した

	[2012/7/17] ver 0.90c4
	obj.getoption()に"multi_object"のオプションを追加した。

	[2012/9/3] ver 0.90d3
	カメラ制御+シャドー使用時にobj.setanchor()が正しく動かない場合があったのを修正。

	[2013/1/3] ver 0.90e
	obj.putpixeldata()でユーザデータ形を扱えるようにした。

	[2013/1/6] ver 0.90e2
	obj.getvalue()のtargetに"time"を追加した。

	[2013/2/11] ver 0.90e3
	obj.copybuffer()でサイズが0のオブジェクトを扱った場合に固まる事があったのを修正。

	[2013/3/3] ver 0.90e4
	obj.getoption()の"script_name"にskipのオプションを追加した。
	obj.effect()の説明を追加した。
	obj.load()に"layer","before"を追加した。
	試験的にスクリプトから1度だけスクリプトを呼べるようにした。

	[2013/3/18] ver 0.90e5
	obj.load()の"layer"で音声オブジェクトを指定した場合に落ちるのを修正。
	obj.getoption()の"script_name"のskipが中間点以降で正しく動かなかったのを修正。

	[2013/4/15] ver 0.91
	obj.getpixeldata()に"alloc"のオプションを追加した。
	obj.getaudio()でデータのテーブルを戻り値で取得できるようにした。
	obj.getpoint()を追加した。
	トラックバー変化方法スクリプトの説明を追加した。

	[2013/4/21] ver 0.91a
	トラックバー変化方法スクリプトでpackage.path,package.cpathを設定するようにした。
	トラックバー変化方法スクリプトでobj.rand()を使用できるようにした。

	[2013/6/2] ver 0.91b
	スクリプトからスクリプトを呼び出して戻った時に仮想バッファのサイズが変更されていたのを修正。
	obj.setoption()の"blend"に"alpha_add2"のオプションを追加した。

	[2013/6/30] ver 0.91c
	obj.load()の"text"で"speed","time"のオプションを追加した。
	obj.getinfo()に"image_max"を追加した。


- Luaのバイナリについて -

	付属のlua51.dllはLuaの本家サイトにあるバージョン5.1.4に
	5.1.4-2のパッチを当ててビルドしたものです。

	Luaの本家サイト
	http://www.lua.org/


- Luaのライセンス -

	Lua License
	-----------

	Lua is licensed under the terms of the MIT license reproduced below.
	This means that Lua is free software and can be used for both academic
	and commercial purposes at absolutely no cost.

	For details and rationale, see http://www.lua.org/license.html .

	===============================================================================

	Copyright (C) 1994-2008 Lua.org, PUC-Rio.

	Permission is hereby granted, free of charge, to any person obtaining a copy
	of this software and associated documentation files (the "Software"), to deal
	in the Software without restriction, including without limitation the rights
	to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
	copies of the Software, and to permit persons to whom the Software is
	furnished to do so, subject to the following conditions:

	The above copyright notice and this permission notice shall be included in
	all copies or substantial portions of the Software.

	THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
	IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
	FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
	AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
	LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
	OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
	THE SOFTWARE.

	===============================================================================


