
- LuaXNvgɂ -

	XNvgAXNvgt@C(*.anm,*.obj,*.scn,*.cam)A
	eLXg̃XNvg䕶ŗp\ȃXNvgɂ
	Luaꂪgpo܂B܂̕ϐƊ֐gĂ܂B


- ϐ -

	ΏۃIuWFNg̏񂪈ȉ̕ϐɓ܂B

	obj.ox : W̑΍WX
	obj.oy : W̑΍WY
	obj.oz : W̑΍WZ
	obj.rx : X]px(360.0ň])
	obj.ry : Y]px(360.0ň])
	obj.rz : Z]px(360.0ň])
	obj.cx : S̑΍WX
	obj.cy : S̑΍WY
	obj.cz : S̑΍WZ
	obj.zoom : g嗦(1.0={)
	obj.alpha : sx(0.0`1.0/0.0=/1.0=s)
	obj.aspect : AXyNg(-1.0`1.0/vX=k/}CiXck)
	obj.x : \WX (ReadOnly)
	obj.y : \WY (ReadOnly)
	obj.z : \WZ (ReadOnly)
	obj.w : 摜TCYW (ReadOnly)
	obj.h : 摜TCYH (ReadOnly)
	obj.screen_w : XN[TCYW (ReadOnly)
	obj.screen_h : XN[TCYH (ReadOnly)
	obj.framerate : t[[g (ReadOnly)
	obj.frame : IuWFNgł݂̌̃t[ԍ (ReadOnly)
	obj.time : IuWFNgł݂̌̎(b) (ReadOnly)
	obj.totalframe : IuWFNg̑t[ (ReadOnly)
	obj.totaltime : IuWFNg̑(b) (ReadOnly)
	obj.layer : IuWFNgzuĂ郌C[ (ReadOnly)
	obj.index : IuWFNg̔ԍ (ReadOnly) ʃIuWFNgp
	obj.num : IuWFNg̐(1=P̃IuWFNg/0=s) (ReadOnly) ʃIuWFNgp
	obj.track0 : gbNo[0̒l (ReadOnly) XNvgt@Ĉݎgp
	obj.track1 : gbNo[1̒l (ReadOnly) XNvgt@Ĉݎgp
	obj.track2 : gbNo[2̒l (ReadOnly) XNvgt@Ĉݎgp
	obj.track3 : gbNo[3̒l (ReadOnly) XNvgt@Ĉݎgp
	obj.check0 : `FbN{bNX̒l (ReadOnly) XNvgt@Ĉݎgp


- ӓ_ -

	[Vu[ɑΉׂɂobj.frame͎g킸obj.timeg悤ɂĂB
	pixeln̊֐ŃIuWFNgŜhbgƂȂd̂ł܂pł͂܂B
	XNvgSJIS2oCg0x5cGXP[vĂs܂B
	XNvgAeLXgIuWFNg̃XNvgUnicodeUnicode^O(&#????;)ɕϊ܂B
	XNvg̍őTCY͖32KBłBȏ̏ꍇdofile()pĂB
	XNvgXNvgĂяoꍇ͏肭삵Ȃꍇ܂B


- ֐ -

	ȉ̊֐ǉĂ܂B

	obj.mes(text)
		eLXgIuWFNg̒Ŏw̃eLXgǉ܂B
		eLXgIuWFNg̃eLXĝݎgpo܂B
		obj.ȗmes()݂̂łgpo܂B
		text	: \eLXgw肵܂B
		Fobj.mes("̕}ĕ\܂")

	obj.effect([name,param1,value1,param2,value2,...])
		w̃tB^ʂs܂BfBAIuWFNĝݎgpo܂B
		ȂŌĂԂƃXNvgȍ~̃tB^ʂs܂B
		name	: GtFNg̖Ow肵܂B
		param1	: GtFNg̃p[^̖Ow肵܂B
		value1	: GtFNg̃p[^̒lw肵܂B
		param?,value?̑gݍ킹͕Kvȕwł܂B
		gbNo[A`FbN{bNXȊO̐ݒparam,value
		IuWFNgt@C̃GNX|[gŏo͂ꂽ̖OlɂȂ܂B
		̂ςgbNo[̓GNX|[g̏o͂ł̖OQƂĉB
		fBXvCXg}bv̌`w"type"0,"name""*tempbuffer"
		w肷tempbuffer`Ƃēǂݍ݂܂B
		Fobj.effect("F␳","邳",150,"F",180)

	obj.draw([ox,oy,oz,zoom,alpha,rx,ry,rz])
		݂̃IuWFNg`悵܂BfBAIuWFNĝݎgpo܂B
		ʏ퉽ȂĂŌɕ`悳܂obj.draw()gƂɂ
		IuWFNg𕡐`悷邱Ƃo܂B
		obj.draw()gpꍇXNvgȍ~̃tB^ʂ͎s܂B
		obj.effect()ȂŌĂԂƂŎOɃXNvgȍ~̃tB^ʂso܂B
		ox	: ΍WX
		oy	: ΍WY
		oz	: ΍WZ
		zoom	: g嗦(1.0={)
		alpha	: sx(0.0=/1.0=s)
		rx	: X]px(360.0ň])
		ry	: Y]px(360.0ň])
		rz	: Z]px(360.0ň])
		Fobj.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])
		݂̃IuWFNg̔CӕCӂ̎lp`ŕ`悵܂BfBAIuWFNĝݎgpo܂B
		pS180xȉ̕ʈȊO͐`悳܂B
		_03vɂȂʂ\ʂɂȂ܂B
		obj.drawpoly()gpꍇXNvgȍ~̃tB^ʂ͎s܂B
		x0,y0,z0 : lp`̒_0̍W
		x1,y1,z1 : lp`̒_1̍W
		x2,y2,z2 : lp`̒_2̍W
		x3,y3,z3 : lp`̒_3̍W
		u0,v0	 : _0ɑΉIuWFNg̉摜̍W
		u1,v1	 : _1ɑΉIuWFNg̉摜̍W
		u2,v2	 : _2ɑΉIuWFNg̉摜̍W
		u3,v3	 : _3ɑΉIuWFNg̉摜̍W
		Fobj.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],...)
		݂̃IuWFNg̉摜ǂݍ݂܂B
		typeȗꍇ͎Iɔʂ܂B
		ǂݍ܂Ă摜͔j܂B

		t@C
			obj.load("movie",file[,time,flag])
			t@Cw莞Ԃ̉摜ǂݍ݂܂B
			file	: t@C
			time	: \摜̎(b)(ȗ̓IuWFNǧ)
			flag	: 0=At@ / 1=At@t
			߂l	: ̑(b)
			Fobj.load("movie","c:\\test.avi")
		摜t@C
			obj.load("image",file)
			摜t@Cǂݍ݂܂B
			file	: 摜t@C
			Fobj.load("image","c:\\test.bmp")
		eLXg
			obj.load("text",text[,speed,time])
			eLXgǂݍ݂܂B
			FƃTCYAtHg̐䕶gpo܂B
			speed,timeݒ肷ƕ\镶ύXo܂B
			eLXgIuWFNgɂ͎gpo܂B
			text	: ǂݍރeLXg
			speed	: timep[^1bԂŕ\镶
			time	: speedp[^ɑ΂oߎ
			Fobj.load("text","̕摜Ƃēǂݍ܂܂")
		}`
			}`ǂݍ݂܂B
			obj.load("figure",name[,color,size,line])
			name	: }`
			color	: F(0x000000`0xffffff)
			size	: }`̃TCY
			line	: }`̃C
			Fobj.load("figure","~",0xffffff,100)
		t[obt@
			t[obt@ǂݍ݂܂B
			load("framebuffer"[,x,y,w,h])
			x,y,w,h	: t[obt@擾͈(ȗ͑S)
		zobt@
			zobt@ǂݍ݂܂B
			zobt@obj.copybuffer(),obj.setoption()ō쐬邱Ƃo܂B
			load("tempbuffer"[,x,y,w,h])
			x,y,w,h	: zobt@擾͈(ȗ͑S)
		C[̃IuWFNg
			w̃C[̃IuWFNgǂݍ݂܂B
			obj.load("layer",no[,effect])
			no	: C[ԍ(1`)
			effect	: ǉGtFNg̎s( true= / false<ftHg>=Ȃ )
		OIuWFNg
			OIuWFNgǂݍ݂܂B
			obj.load("before");
			JX^IuWFNgő̃IuWFNgǂݍޑO̎̂ݎg܂B

	obj.setfont(name,size[,type,col1,col2])
		obj.load()̃eLXgŎgtHgw肵܂B
		XNvǧĂяoɎw肷Kv܂B
		name	: tHg
		size	: tHgTCY
		type	: ̑(0`4)
			  0=W / 1=et / 2=et()
			  3=蕶 / 4=蕶()
		col1	: ̐F(0x000000`0xffffff)
		col2	: eE̐F(0x000000`0xffffff)

	obj.rand(st_num,ed_num[,seed,frame])
		𔭐܂Bʏ̗ƈقȂ蓯ꎞԂ̃t[
		ɓlo悤ɗ𔭐܂B
		obj.ȗrand()݂̂łgpo܂B
		st_num	: ̍ŏl
		ed_num	: ̍ől
		seed	: ̎(ȗ̓IuWFNgɈقȂ闐ɂȂ܂
			  vX̒lw肷Ǝ킪łIuWFNgɈقȂ闐ɂȂ
			  }CiX̒lł͎킪ȂΑSẴIuWFNgœɂȂ܂)
		frame	: t[ԍ(ȗ݂͌̃t[ɂȂ܂)
		Fobj.rand(10,20)

	obj.setoption(name,value)
		݂̃IuWFNg̊eIvVݒ肵܂B
		XNvǧĂяoɎw肷Kv܂B
		name	: IvV
		value	: IvVl

		ʂ\Ȃ
			obj.setoption("culling",value)
			value	: 0=\ / 1=\

		J̕
			obj.setoption("billboard",value)
			value	: 0=Ȃ / 1=̂ / 2=ĉ / 3=

		Vh[̑Ώ
			obj.setoption("shadow",value)
			value	: 0=Ώ / 1=Ώ

		A`GCAX
			obj.setoption("antialias",value)
			value	: 0=Ȃ / 1=

		[h
			obj.setoption("blend",value[,option])
			value	: 0=ʏ / 1=Z / 2=Z / 3=Z / 4=XN[
				  5=I[o[C / 6=r() / 7=r() / 8=Px / 9=F
				  ȉ͉zobt@p̍[hłB
				  "alpha_add"=F͉dςăAt@l͉Z܂
				  "alpha_max"=F͉dςăAt@l͑傫̗p܂
				  "alpha_sub"=F͉ɃAt@lZ܂
				  "alpha_add2"=F͏dˍ킹ăAt@l͉Z܂
			option	: "force"=w胂[h
			t[obt@ւ̕`̍[h͌X̍[hʏ̏ꍇ̂ݔf܂B
			XʏȊȌꍇŔfɂ"force"IvVw肵ĂB

		`zobt@ɕύX
			obj.setoption("drawtarget","tempbuffer"[,w,h])
			w,h	: zobt@̃TCY(ȗ͏܂)
			`zobt@ɂobj.draw(),obj.drawpoly()ł̕`悪
			zobt@ɑ΂čs܂B̏ꍇ̓IuWFNg̎Ă
			W̐ݒ͔f̍Ŵ܂܂ŕ`悳܂B
			TCYw肷Ɖzobt@𓧖Fŏ܂B
			zobt@͑SẴIuWFNgŋpɂȂ܂B

		`t[obt@ɕύX
			obj.setoption("drawtarget","framebuffer")
			obj.draw(),obj.drawpoly()̕`t[obt@ɂ܂B
			t[obt@ɑ΂draw()ŕ`sĂȂꍇɂ
			setoption()ŕύXȂĂXNvgIɂ͎I
			t[obt@ɑ΂Ă̕`ƂȂ܂B

		XNvgŃt[obt@ɕ`悳ꂽ̃Xe[^XύX
			obj.setoption("draw_state",flag)
			flag	: true=`ς / false=`

		IuWFNg̃tH[JXg[h
			obj.setoption("focus_mode",value)
			value	: "fixed_size"=傫Œ̘gɂ

		J̃p[^ݒ肷
			J̊ep[^ݒ肵܂B
			JGfBbg[h͔̎f܂B
			JʁAXNvg(J)̂ݎgp
			obj.setoption("camera_param",cam)
			cam	: J̃p[^(e[u)
			   .x	: J̍WX
			   .y	: J̍WY
			   .z	: J̍WZ
			   .tx	: J̖ڕWWX
			   .ty	: J̖ڕWWY
			   .tz	: J̖ڕWWZ
			   .rz	: J̌X
			   .ux	: J̏PʃxNgX
			   .uy	: J̏PʃxNgY
			   .uz	: J̏PʃxNgZ
			   .d	: JXN[܂ł̋(œ_)
			Fcam = obj.getoption("camera_param");

	obj.getoption(name,...)
		݂̃IuWFNg̊eIvV擾܂B
		name	: IvV

		gbNo[̈ړ[h
			obj.getoption("track_mode",value)
			value	: gbNo[̔ԍ
			߂l	: 0= / 1= / 2=Ȑ / 3=u / 4=ԓ_
				  5=ړ / 6=_ / 7= / 8=
		IuWFNg̋Ԃ̐
			obj.getoption("section_num")
			߂l	: Ԃ̐(ԓ_̐+1)

		XNvg擾
			obj.getoption("script_name"[,value][,skip])
			value	: tB^ʂ̏㉺̑Έʒu(0͎/}CiX͏/vX͉)
			skip    : ɂȂĂtB^ʂXLbv邩( true= / false<ftHg>=Ȃ )
			߂l	: XNvg(ΏۂXNvgȊOȂ̃eLXg)
			Fif obj.getoption("script_name") == obj.getoption("script_name",-1) then
			WœĂXNvg͎擾o܂

		GUI̕\Ԃ𒲂ׂ
			obj.getoption("gui")
			߂l	: true=\ / false=\
			̏o͔͒\ԂɂȂ܂B

		JԂ擾
			obj.getoption("camera_mode")
			߂l	: 0=JΏۊO / 0ȊO=JΏ

		J̃p[^擾
			obj.getoption("camera_param")
			߂l	: J̃p[^(e[u)
			e[u̓eobj.setoption("camera_param")ƓłB
			Fcam = obj.getoption("camera_param");

		ʃIuWFNgL𒲂ׂ
			obj.getoption("multi_object")
			߂l	: true=L / false=

	obj.getvalue(target[,time,section])
		݂̃IuWFNg̐ݒl擾܂B
		target	: ݒ
			  0=gbNo[0̒l
			  1=gbNo[1̒l
			  2=gbNo[2̒l
			  3=gbNo[3̒l
			  "x"=WX
			  "y"=WY
			  "z"=WZ
			  "rx"=X]px
			  "ry"=Y]px
			  "rz"=Z]px
			  "zoom"=g嗦(100={) obj.zoom(1.0={)ƈقȂĂ̂Œ
			  "alpha"=sx(0.0`1.0/0.0=/1.0=s)
			  "aspect"=AXyNg(-1.0`1.0/vX=k/}CiXck)
			  "time"=IuWFNg̎
			  "layer7.x"=C[7̃IuWFNg̊WX
			  layer[C[ԍ].[ݒ]ŕʃC[̃IuWFNg̒l擾o܂
			  "scenechange"=V[`FWł̕\(0.0`1.0) V[`FŴݎgp
			  g̓V[`FWXNvg̗QƂĂ
		time	: ǂ̎_̒l擾邩̎(b)(ȗ͌)
		section	: Ԃ̊ƂȂԂ̔ԍ(ȗ͊Jn_)
			  0=Jn_ / 1=ŏ̒ԓ_ / 2=2ڂ̒ԓ_ / -1=I_
			  ΏۃIuWFNg̎Ԑ͔f܂B

	obj.setanchor(name,num[,option,..])
		AJ[|Cg\܂B
		̊֐ĂяoɃAJ[|Cg̕\ݒ
		AJ[ړĂꍇ̕ϐւ̔fs܂B
		̊֐͌Ăяo8܂ŌĂяoo܂B
		Ăяo񐔂ύXƐfȂꍇ܂B
		name	: --dialogŎw肳ĂWi[ϐw肵܂Bϐ𕶎ƂĎw
			  "track"w肷--track0w肳ĂgbNo[̎n_I_ԓ_̒lQƂ܂B
			  ڃe[uϐw肷ƃAJ[\ړȂŐ\܂B
		num	: AJ[|Cg̐w肵܂BSẴAJ[v16܂Ŏwł܂B
			  name="track"̏ꍇ0w肵ĉBAJ[|Cg͊JnIԓ_̐ɂȂ܂B
		option	: eIvV񋓏o܂B
			  "line"=AJ[|CgŌт܂B
			  "loop"=AJ[|CgŌш܂B
			  "star"=AJ[|CgIuWFNg̒SƂꂼŌт܂B
			  "arm"=AJ[|CgƃIuWFNg̒SŌт܂B
			  "color"=LIvV̐̐FύX܂B㑱̈ɐF(0x000000`0xffffff)w肵܂B
			  "inout"=LIvV̐̕\IN,OUT2Ƃĕ\܂B(AJ[͔XɂȂ܂)
			  "xyz"=AJ[|Cg3DWŐ䂵܂BftHg2DW
			  J+Vh[ŎgpꍇɃvr[ŉeꍇ܂B
		߂l	: 擾AJ[|Cg̐
		Fobj.setanchor("pos",3)
		    n = obj.setanchor("track",0,"line")

	obj.getaudio(buf,file,type,size)
		t@CI[fBIf[^擾܂B
		IuWFNg̎ԂƂʒũf[^擾܂B
		buf	: f[^󂯎e[uw肵܂B
			@nilw肷Ƒ3߂lŃe[uԂ܂B
		file	: t@C("audiobuffer"w肷ƕҏW̉f[^擾o܂)
		type	: 擾f[^̎
			  "pcm"=PCMTvOf[^(16bitm)
			  "spectrum"=g̉ʃf[^
			  "fourier"=𗣎Ut[Gϊf[^(size̎w͕sv)
			@ g1/2048`1/2܂1/2048݂1024̃f[^ɂȂ܂(Ԃc
		size	: 擾f[^(w肵l菭Ȃꍇ܂)
		߂l	: 擾f[^,TvO[g
		Fn = 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,...])
		w̃XN[Ŝւ̃tB^(tB^IuWFNg)s܂B
		gҏWvOCŒǉꂽtB^̂ݎgpo܂B
		̎w@obj.effect()ƓlɂȂ܂B
		tB^ɂĂ͐gpoȂꍇ܂B
		IuWFNg̉摜f[^ꍇ܂B
		Fobj.filter("F␳","邳",150,"F",180)

	obj.copybuffer(dst,src)
		摜obt@Rs[܂B
		Rs[̉摜obt@̃TCY̓Rs[̃TCYɕύX܂B
		dst	: Rs[̃obt@
			  "tmp"=zobt@
			  "obj"=IuWFNg
			  "cache:xxxx"=LbVobt@(xxxx͔Cӂ̖O)
		src	: Rs[̃obt@
			  "frm"=t[obt@
			  "obj"=IuWFNg
			  "tmp"=zobt@
			  "cache:xxxx"=LbVobt@(xxxx͔Cӂ̖O)
			  "image:xxxx"=摜t@C(xxxx̓XNvgtH_̑΃pX̉摜t@C)
		߂l	: true= / false=s
		dstsrc̑gݍ킹͈ȉ̂̂gpł܂B
		    "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"
		LbVobt@̖O͑SẴIuWFNgŋʂƂȂ܂B
		LbVobt@≼zobt@͉摜f[^̃LbVmۂ̂
		̉摜LbVǂݍނƔjꍇ܂B
		摜̏ꍇ͖ʐς̍vő摜TCYň̃LbVɂȂ܂B
		LbVgꍇ̓XNvǧĂяoɊłB

	obj.getpixel(x,y[,type])
		݂̃IuWFNg̃sNZ擾܂B
		ȂŌĂԂƃIuWFNg̃sNZ擾ł܂B
		sNZobj.w,obj.hƈقȂꍇ܂B(FXĕÂ炭ȂĂ܂c)
		x,y	: 擾sNZ̍W
		type	: sNZ̃^Cv("col","rgb","yc")
			@ȗ obj.pixeloption("type") Ŏw肵^Cv(ʏ"col")
		߂l	: ^Cv"col"̏ꍇ
				F(0x000000`0xffffff)ƕsx(0.0=/1.0=s)
				col,a = obj.getpixel(0,0,"col")
			  ^Cv"rgb"̏ꍇ
				e8bit(0`255)RGBA
				r,g,b,a = obj.getpixel(0,0,"rgb")
			  ^Cv"yc"̏ꍇ
				YCbCr`
				y,cb,cr,a = obj.getpixel(0,0,"yc")
			  Ȃ
				Ac̃sNZ
				w,h = obj.getpixel()

	obj.putpixel(x,y,...)
		݂̃IuWFNg̃sNZ܂B
		ȂŌĂԂƃIuWFNg̃sNZ擾ł܂B
		󂯓nsNZ̃^Cv obj.pixeloption("type") Ŏw肵^CvɂȂ܂B
		x,y	: sNZ̍W
		F	: ^Cv"col"̏ꍇ
				F(0x000000`0xffffff)ƕsx(0.0=/1.0=s)
				obj.putpixel(0,0,col,a)
			  ^Cv"rgb"̏ꍇ
				e8bit(0`255)RGBA
				obj.putpixel(0,0,r,g,b,a)
			  ^Cv"yc"̏ꍇ
				YCbCr`
				obj.putpixel(0,0,y,cb,cr,a)

	obj.copypixel(dst_x,dst_y,src_x,src_y)
		݂̃IuWFNg̃sNZRs[܂B
		dst_x,dst_y	: Rs[̍W
		src_x,src_y	: Rs[̍W

	obj.pixeloption(name,value)
		obj.getpixel(),obj.putpixel(),obj.copypixel() ̏IvVݒ肵܂B
		XNvǧĂяoɎw肷Kv܂B
		name	: IvV
		value	: IvVl

		sNZ^Cvw肷
			obj.pixeloption("type",value)
			value	: "col" / "rgb" / "yc"

		sNZ̓ǂݏow肷
			obj.pixeloption("get",value)
			value	: "obj"=IuWFNg / "frm"=t[obt@(At@l܂)

		sNZ̏ݐw肷
			obj.pixeloption("put",value)
			value	: "obj"=IuWFNg / "frm"=t[obt@(At@l܂)

		ގ̃uh^Cvw肷
			obj.pixeloption("blend",value)
			value	: Ȃ=u / 0=ʏ / 1=Z / 2=Z / 3=Z / 4=XN[
				  5=I[o[C / 6=r() / 7=r() / 8=Px / 9=F

	obj.getpixeldata([option,...])
		݂̃IuWFNg̉摜f[^ǂݏo܂B
		̊֐DLL𗘗pĉ摜ׂ̂̂łB
		摜f[^݂͌̃IuWFNg摜̉𑜓xRGBA(32bit)`Ŋi[܂B
		摜f[^̓edraw(),effect()̕`揈n̊֐gp
		܂̂ŕKvłΕʂ̗̈ɃRs[ďĉB
		option	: eIvV񋓏o܂B
			  "work"=摜ƓTCỸ[Nobt@̃|C^擾܂B
			  "alloc"=(t[Uf[^)mۂĊi[܂
		߂l	: f[^̃|C^([U[f[^),,c̃sNZ
		Fdata,w,h = obj.getpixeldata()
		    work = obj.getpixeldata("work")

	obj.putpixeldata(data)
		݂̃IuWFNg։摜f[^݂܂B
		̊֐DLL𗘗pĉ摜ׂ̂̂łB
		getpixeldata()Ŏ擾o摜f[^`Ɠ
		݂̃IuWFNgɏ݂܂B摜f[^̉𑜓x
		IuWFNgƓłȂȂ΂Ȃ܂B
		data	: 摜f[^ւ̃|C^([U[f[^)
		Fobj.putpixeldata(data)

	obj.getpoint(target[,option])
		gbNo[̒l擾܂B

		target	: =eԂł̃gbNo[l
				0=Jn_ / 1=ŏ̒ԓ_ / 2=2ڂ̒ԓ_ / ...
				optionŎ擾֘AgbN̑Έʒuw肷邱Ƃo܂B
			  "index"=݂̋Ԃł̈ʒu擾܂B
				Jn_ƍŏ̒ԓ_̊Ԃ̏ꍇ0.5̏ŕ\܂B
			  "num"=JnIԓ_̑擾܂B
			  "time"=݂̎Ԃ擾܂B
				optionŎԂ擾Ԃw肷邱Ƃł܂B
			  "accelerate"=xݒ肳Ă邩擾܂B
				߂l : true=L / false=
			  "decelerate"=xݒ肳Ă邩擾܂B
				߂l : true=L / false=
			  "param"=gbNo[̐ݒl擾܂B
			  "link"=֘AgbNł̃CfbNXƑ擾܂B
				index,num = obj.getpoint("link")
				֘AgbN͍Wő̃gbN̒l擾ׂɎgp܂B
				XWł̖߂lF0,3 / YWł̖߂lF1,3 / ZWł̖߂lF2,3

	obj.getinfo(name,...)
		e擾܂B
		name	: 擾̖O

		XNvgtH_̃pX擾
			obj.getinfo("script_path")
			߂l	: XNvgtH_̃pX

		̏o͒𒲂ׂ
			obj.getinfo("saving")
			߂l	: true=o͒ / false=o͒

		ő摜TCY擾
			max_x,max_y = obj.getinfo("image_max")
			߂l	: ő摜TCY(,)

	obj.interpolation(time,x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z3)
		A_p0(x0,y0,z0),p1(x1,y1,z1),p2(x2,y2,z2),p3(x3,y3,z3)
		time(0`1)ɉp1,p2Ԃ̍WvZ܂B
		y,zW͏ȗ邱Ƃo܂B
		Fx,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)
		F(0x000000`0xffffff)Ɛ(0`255),(0`255),(0`255)evf̑ݕϊ܂B
		r,g,b2w肵ꍇ̓IuWFNg̎Ԍo߂ɉĐFω܂B
		Fcol = RGB(r,g,b)
		    r,g,b = RGB(col)
		    col = RGB(r1,g1,b1,r2,g2,b2)

	HSV(h,s,v)
		F(0x000000`0xffffff)ƐF(0`360),ʓx(0`100),x(0`100)evf̑ݕϊ܂B
		h,s,v2w肵ꍇ̓IuWFNg̎Ԍo߂ɉĐFω܂B
		Fcol = 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̃rbgZ܂B
		Fc = OR(a,b)

	SHIFT(a,shift)
		ZpVtg܂Bshift̐ƍVtgA̐ƉEVtgɂȂ܂B
		Fb = SHIFT(a,1)

	debug_print(text)
		w̕OutputDebugString()ɑ܂BfobOpłB
		XNvgsG[̃bZ[W͎IOutputDebugString()
		悤ɂȂĂ܂B
		text	: fobO\
		 : debug_print("fobO\")


- gp -

	eLXgŃXNvgg
		ȉ̃eLXgŃIuWFNgԂ̃^CJE^\܂B

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

	IuWFNg̍WpxԌo߂ŕω
		ȉ̃XNvgŎԂƋɉEɈړȂE]܂B

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

	IuWFNgɃtB^ʂ
		ȉ̃XNvgŎԂƋɖ邭ȂÂȂ肵܂B

		i = math.cos(obj.time*math.pi*2)*50
		obj.effect("F␳","邳",100+i)

	IuWFNg𕡐`悳
		ȉ̃XNvgŃIuWFNg~10`悵܂B

		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

	XNvgt@CŃgbNo[A`FbN{bNX̒lg
		XNvgt@C(*.anm,*.obj,*.scn,*.cam)̐擪'--track0:O,ŏl,ől,ftHgl,ړP'
		̂悤Ɏw肷ƃgbNo[LɂȂ܂BړPʂ'1','0.1','0.01'ȗo܂B
		ő4̃gbNo[gpł܂BV[`FWł͍ő2ɂȂ܂B
		'--check0:O,ftHgl(01)'̂悤Ɏw肷ƃ`FbN{bNXLɂȂ܂B

		--track0:Xx,-10,10,0
		--track1:Yx,-10,10,0,1
		--check0:d,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

	XNvgt@CŃp[^ݒg
		XNvgt@C(*.anm,*.obj,*.scn,*.cam)̐擪'--param:ftHgݒ'̂悤Ɏw肷
		p[^ݒ̍ڂLɂȂ܂Bő255oCg܂ŁB
		--color,--file,--dialogƓɎwo܂B

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

	XNvgt@CŐFI_CAOg
		XNvgt@C(*.anm,*.obj,*.scn,*.cam)̐擪'--color:ftHgݒ'̂悤Ɏw肷
		FI_CAO̍ڂLɂȂ܂B
		w肵F͕ϐ(color)Ɋi[܂
		--color,--file,--dialogƓɎwo܂B

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

	XNvgt@CŃt@CI_CAOg
		XNvgt@C(*.anm,*.obj,*.scn,*.cam)̐擪'--file:'̂悤Ɏw肷
		t@CI_CAO̍ڂLɂȂ܂B
		w肵t@C͕ϐ(file)Ɋi[܂
		--color,--file,--dialogƓɎwo܂B

		--file:
		obj.load(file)

	XNvgt@CŒl̓_CAOg
		XNvgt@C(*.anm,*.obj,*.scn,*.cam)̐擪'--dialog:\,ϐ=l;'̂悤Ɏw肷
		l̓_CAO̍ڂLɂȂ܂Bő16ڂ܂Ŏwo܂B
		\̍Ō'/chk','/col','/fig'ɂƃ`FbN{bNXF}`̑I{^ǉ܂B
		`FbN{bNXƑI{^͂ꂼő4ڂ܂Ŏwo܂B
		--color,--file,--dialogƓɎwo܂B

		--dialog:XItZbg,x=100;YItZbg,y=100;
		obj.ox = obj.ox + x
		obj.oy = obj.oy + y

		--dialog:TCY,size=100;F/col,col=0xffffff;}`/fig,fig="lp`"
		obj.load("figure",fig,col,size)

	Aj[VʁAJX^IuWFNg1t@Cŕo^
		XNvgt@C(*.anm,*.obj,*.scn,*.cam)̃t@C̐擪'@'ɂ
		ȉ̂悤ɊeXNvg̐擪'@O'̂悤ɒ`
		̃XNvgZ߂Ē`邱Ƃo܂B
		exedit.anm,exedit.obj̃XNvǧ`ɂȂĂ܂B

		o^ꍇ̃t@Ce [@o^.anm]
		@sample1
		--track0:x,-10,10,10
		obj.ox = obj.ox + obj.track0*obj.time
		@sample2
		--track0:x,-10,10,10
		obj.oy = obj.oy + obj.track0*obj.time

		PƓo^ꍇ̃t@Ce [PƓo^.anm]
		--track0:x,-10,10,10
		obj.ox = obj.ox + obj.track0*obj.time

	V[`FWXNvg̗
		ȉ̃XNvgŎԂƋɃNXtF[h܂B
		V[`FWXNvgł̓t[obt@ɃV[`FW̉摜
		IuWFNgɃV[`FWỎ摜ĂĂǂ\邩
		obj.getvalue("scenechange")Ŏ擾ď܂B
		0ȂIuWFNgA1Ȃt[obt@ɂȂ܂B

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

	AJ[|Cg̕\ƍW̎擾
		ȉ̃XNvgŃAJ[|Cg̕\ƍW̎擾܂B

		_CAO̕ϐgꍇ
		--dialog:W,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
		3DW̏ꍇXYZ3Wzɓ܂B
		pos={}͏lĂƂo܂B

		gbNo[gꍇ
		--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()gꍇ
		--dialog:W1,pos1={};W2,pos2={}
		obj.setanchor("pos1",4,"loop","color",RGB(0,255,255));
		obj.setanchor("pos2",2,"line","color",RGB(0,255,0));
		_CAO̕ϐ𕡐ŎgƂ͏o܂B

	gbNo[ω@XNvg̗
		ȉ̃XNvgŃgbNo[̒lJn_I_܂œŕω܂B
		gbNo[ω@XNvgł͒ʏ̃IuWFNg֌W̕ϐ֐͎gpo܂B
		XNvgt@C(*.tra)̐擪'--twopoint'̂悤Ɏw肷ƒԓ_𖳎ω@ɂȂ܂B
		'--param:l()'̂悤Ɏw肷ƃgbNo[ݒ肪o悤ɂȂ܂B
		'--speed:l(0/1),l(0/1)'̂悤Ɏw肷Ɖ̐ݒ肪o悤ɂȂ܂B

		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()ŉ摜Ȃ悤ȏꍇɐfĂȂ̂CB
	obj.load()Ńt@CɑSp܂܂Ă摜t@Cǂݍ߂Ȃ̂CB
	obj.load()œt@Cǂݍ߂ȂɌx_CAO\Ă̂CB
	obj.load()̃eLXgǂݍ݂eLXgIuWFNgł͎gpoȂǉB
	obj.effect()ɃXNvgȍ~̃tB^ʂs@\ǉB

	[2011/3/29] ver 0.87g
	obj.effect()ŃTCỸp[^ɕωꍇɔfĂȂ̂CB
	obj.drawpoly(),obj.setoption()ǉB
	obj.setfont()ɐF̃p[^ǉB
	_CAOI@\(--color,--file)ǉB

	[2011/3/30] ver 0.87h
	obj.effect()̏ɂ̃p[^̒lɖ߂Ă̂CB

	[2011/4/10] ver 0.87i
	FI_CAOŃLZꍇɐFɖ߂ĂȂ̂CB
	_CAOI@\(--dialog)ǉB
	obj.getoption()ǉB

	[2011/4/25] ver 0.88
	--dialog̒`Ŏgp镶ɂĂ͐ɓ삵Ȃ̂CB
	obj.draw(),obj.drawpoly()obj.setoption()blendfĂȂ̂CB
	obj.effect()ŃgbNo[A`FbN{bNXȊO̐ݒlf悤ɂB

	[2011/5/8] ver 0.88a
	obj.effect()ŐݒlfȂꍇ̂CB
	obj.setoption()blend͕`IuWFNg̍[hW̏ꍇɔf悤ɂB
	--dialogœ͏o鍀ڐ̍ő12ɑ₵B

	[2011/5/30] ver 0.88b
	obj.getoption()Ŏ擾o̎ނǉB
	obj.getvalue()ǉB

	[2011/6/20] ver 0.89
	obj.getvalue()ŕW`IuWFNgZW擾ꍇlԂ悤ɂB
	obj.getvalue()ŕʃC[̃IuWFNg̒l擾o悤ɂB

	[2011/7/19] ver 0.89b
	obj.getaudio(),obj.getpixel()ǉB

	[2011/8/1] ver 0.89c
	obj.getpixel()̃sNZ^Cvȗo悤ɂB
	obj.putpixel(),obj.copypixel(),obj.pixeloption()ǉB
	--dialogŃ_CAOɒlfȂꍇ̂CB

	[2011/8/22] ver 0.89d
	XNvg̖OɂĂ͐ɓ삵Ȃ̂CB
	obj.getaudio()"audiobuffer"gpɃJ䂪ȂȂĂ̂CB

	[2011/8/29] ver 0.89e
	--dialogŃ_CAOɒlfȂꍇ̂CB

	[2011/9/5] ver 0.89f
	--dialogŒlύXɐݒe\Ȃꍇ̂CB
	obj.getvalue()Ől擾oȂꍇ̂CB

	[2011/10/2] ver 0.89g
	obj.rand()ŏɂĂ͎lo₷ȂĂ̂CB
	obj.drawpoly()uvWȗo悤ɂB
	obj.load()ɃAt@tt@Cp̃p[^ǉB
	obj.load(),obj.setoption()ɉzobt@֘AǉB
	obj.copybuffer()ǉB
	obj.getvalue()Ŏ擾o̎ނǉB
	--trackŒl̕ύXPʂݒo悤ɂB
	V[`FWXNvg̐ǉB

	[2011/10/16] ver 0.89h
	obj.load()"framebuffer","tempbuffer"Ƀp[^ǉB
	obj.setoption"blend"ɉzobt@p̍[hǉB
	--dialog̒`Ń`FbN{bNXF}`̑Iݒo悤ɂB

	[2011/11/7] ver 0.89i
	V[`FWXNvgŎgpłgbNo[̐ő2ɕύXB
	obj.filter()ǉB

	[2011/11/19] ver 0.89j
	package.path,package.cpath̏lexedit.auftH_scripttH_ɕύXB
	obj.setoption()̉zobt@֘ÄύXBȑÔ܂܂łgpo܂B
	obj.setanchor(),RGB(),OR(),AND(),XOR(),SHIFT()ǉB
	obj.setanchor()gpAJ[|Cg̐ǉB

	[2011/11/23] ver 0.89j2
	obj.getinfo(),obj.getpixeldata(),obj.putpixeldata()ǉB
	obj.setanchor()̃IvVǉB

	[2011/12/5] ver 0.89k
	obj.setoption()"antialias"̐ݒ肪zobt@`掞ɔfĂȂ̂CB
	obj.getpixeldata(),obj.putpixeldata()ĂȂ̂CB
	obj.setanchor()̖߂lԂȂ̂CB
	obj.rx,obj.ry,obj.rz̏pxɊ]px悤ɂB
	obj.cx,obj.cy,obj.czǉB

	[2011/12/26] ver 0.89l
	tB^ʂ^CCɔzuꍇobj.setanchor()\Ȃ̂CB
	RGB()ŃIuWFNg̎Ԍo߂ŐFωݒ@ǉB
	obj.getoption()"camera_param","camera_mode","gui"ǉB
	obj.setoption()"camera_param","draw_state"ǉB
	obj.getinfo()"saving"ǉB
	obj.copybuffer()̈̎ނǉB
	obj.interpolation(),HSV()ǉB

	[2011/12/29] ver 0.89l3
	obj.getoption(),obj.setoption()"camera_param"̐ݒǉB

	[2012/1/9] ver 0.89m
	IuWFNgɑ΂obj.getvalue()ōW̎擾ɗĂ̂CB
	obj.getvalue()target"alpha","aspect"ǉB
	obj.setanchor()option"inout","color"ǉB
	obj.setanchor()𕡐Ăяo悤ɂB

	[2012/1/22] ver 0.89m2
	obj.setoption()"blend"ɃIvVǉB
	obj.setanchor()ɐ\@ǉB
	obj.getpixeldata()"type"̃IvVǉB

	[2012/1/29] ver 0.89n
	obj.getoption()"gui"őΏۂ̐ݒ_CAO\̎trueɂȂ鎖̂CB
	--dialog̍ŏ̐Fݒ(/col)̃{^IuWFNgݒ_CAOɂ\悤ɂB
	--check0_CAO(--dialog)ƓɎg悤ɂB

	[2012/3/4] ver 0.89o
	1hbg̃IuWFNgɑ΂obj.getpixeldata()ɗĂ̂CB
	obj.getpixeldata()ŉ̎ɃS~ꍇ̂CB
	obj.setoption()"focus_mode"ǉB
	XNvg̓ǂݍ݃obt@𑝂₵B
	--dialogœ͏o鍀ڐ̍ő16ɑ₵B
	XNvgt@CUTF-8ɕϊȂŎs悤ɂB

	[2012/3/13] ver 0.89p
	XNvgAeLXgIuWFNgUTF-8ɕϊȂŎs悤ɂB

	[2012/3/24] ver 0.89p2
	mes(),obj.load()"text"Unicode^O(10i)\ł悤ɂB
	XNvgAeLXgIuWFNgUnicode^Oɕϊď悤ɂB

	[2012/4/8] ver 0.90
	obj.copybuffer()̈̎ނ"cache","image"ǉB

	[2012/5/27] ver 0.90b
	obj.getaudio()̖߂lɃTvO[gǉB

	[2012/6/17] ver 0.90c
	obj.getaudio()type"fourier"ǉ

	[2012/7/17] ver 0.90c4
	obj.getoption()"multi_object"̃IvVǉB

	[2012/9/3] ver 0.90d3
	J+Vh[gpobj.setanchor()Ȃꍇ̂CB

	[2013/1/3] ver 0.90e
	obj.putpixeldata()Ń[Uf[^`悤ɂB

	[2013/1/6] ver 0.90e2
	obj.getvalue()target"time"ǉB

	[2013/2/11] ver 0.90e3
	obj.copybuffer()ŃTCY0̃IuWFNgꍇɌł܂鎖̂CB

	[2013/3/3] ver 0.90e4
	obj.getoption()"script_name"skip̃IvVǉB
	obj.effect()̐ǉB
	obj.load()"layer","before"ǉB
	IɃXNvg1xXNvgĂׂ悤ɂB

	[2013/3/18] ver 0.90e5
	obj.load()"layer"ŉIuWFNgw肵ꍇɗ̂CB
	obj.getoption()"script_name"skipԓ_ȍ~ŐȂ̂CB

	[2013/4/15] ver 0.91
	obj.getpixeldata()"alloc"̃IvVǉB
	obj.getaudio()Ńf[^̃e[u߂lŎ擾ł悤ɂB
	obj.getpoint()ǉB
	gbNo[ω@XNvg̐ǉB

	[2013/4/21] ver 0.91a
	gbNo[ω@XNvgpackage.path,package.cpathݒ肷悤ɂB
	gbNo[ω@XNvgobj.rand()gpł悤ɂB

	[2013/6/2] ver 0.91b
	XNvgXNvgĂяoĖ߂ɉzobt@̃TCYύXĂ̂CB
	obj.setoption()"blend""alpha_add2"̃IvVǉB

	[2013/6/30] ver 0.91c
	obj.load()"text""speed","time"̃IvVǉB
	obj.getinfo()"image_max"ǉB


- LuãoCiɂ -

	tlua51.dllLua̖{ƃTCgɂo[W5.1.4
	5.1.4-2̃pb`𓖂ĂărĥłB

	Lua̖{ƃTCg
	http://www.lua.org/


- LuãCZX -

	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.

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


