////////////////////////////////////////////////////////////////////////////////
//	OBJ_SHOT֐
//	
//	@param X	exW
//	@param Y	eyW
//	@param Speed	x
//	@param Angle	px
//	@param Graph	摜
//	@param Delay	xt[
//	@return 쐬IuWFNgid
//	
////////////////////////////////////////////////////////////////////////////////
function CreateObjShot(X,Y,Speed,Angle,Graph,Delay){
	let obj = Obj_Create(OBJ_SHOT);
	Obj_SetPosition(obj,X,Y);
	Obj_SetSpeed(obj,Speed);
	Obj_SetAngle(obj,Angle);
	ObjShot_SetGraphic(obj,Graph);
	ObjShot_SetDelay(obj,Delay);
	
	return obj;
}

////////////////////////////////////////////////////////////////////////////////
//	OBJ_LASER֐
//	
//	@param X	exW
//	@param Y	eyW
//	@param Speed	x
//	@param Angle	px
//	@param Lng	
//	@param Wid	
//	@param Graph	摜
//	@param Delay	xt[
//	@param Src	̗L
//	@return 쐬IuWFNgid
//	
////////////////////////////////////////////////////////////////////////////////
function CreateObjLaser(X,Y,Speed,Angle,Lng,Wid,Graph,Delay,Src){
	let obj = Obj_Create(OBJ_LASER);
	Obj_SetPosition(obj,X,Y);
	Obj_SetSpeed(obj,Speed);
	Obj_SetAngle(obj,Angle);
	ObjShot_SetGraphic(obj,Graph);
	ObjShot_SetDelay(obj,Delay);
	
	ObjLaser_SetLength(obj,Lng);
	ObjLaser_SetWidth(obj,Wid);
	ObjLaser_SetSource(obj,Src);
	
	return obj;
}

////////////////////////////////////////////////////////////////////////////////
//	OBJ_SINUATE_LASER֐
//	
//	@param X	exW
//	@param Y	eyW
//	@param Speed	x
//	@param Angle	px
//	@param Lng	
//	@param Wid	
//	@param Graph	摜
//	@param Delay	xt[
//	@return 쐬IuWFNgid
//	
////////////////////////////////////////////////////////////////////////////////
function CreateObjSinuateLaser(X,Y,Speed,Angle,Lng,Wid,Graph,Delay){
	let obj = Obj_Create(OBJ_SINUATE_LASER);
	Obj_SetPosition(obj,X,Y);
	Obj_SetSpeed(obj,Speed);
	Obj_SetAngle(obj,Angle);
	ObjShot_SetGraphic(obj,Graph);
	ObjShot_SetDelay(obj,Delay);
	
	ObjSinuateLaser_SetLength(obj,Lng);
	ObjSinuateLaser_SetWidth(obj,Wid);
	
	return obj;
}

////////////////////////////////////////////////////////////////////////////////
//	OBJ_EFFECT֐
//	
//	@param EffectImg	摜
//	@param X		SxW
//	@param Y		SyW
//	@param CutX		؂o_xl
//	@param CutY		؂o_yl
//	@param ImgX		摜X
//	@param ImgY		摜Y
//	@param Layer		\C[
//	@param Alpha		l
//	@param R		Rl
//	@param G		Gl
//	@param B		Bl
//	@return 쐬IuWFNgid
//	
////////////////////////////////////////////////////////////////////////////////
function CreateObjEffect(EffectImg,X,Y,CutX,CutY,ImgX,ImgY,Layer,Alpha,R,G,B){
	let ImgXHalf = ImgX / 2;
	let ImgYHalf = ImgY / 2;
	
	let obj = Obj_Create(OBJ_EFFECT);
	ObjEffect_SetTexture(obj,EffectImg);
	ObjEffect_SetPrimitiveType(obj, PRIMITIVE_TRIANGLESTRIP);
	ObjEffect_CreateVertex(obj,4);
	
	ObjEffect_SetVertexXY(obj, 0, -ImgXHalf, -ImgYHalf);
	ObjEffect_SetVertexXY(obj, 1, -ImgXHalf,  ImgYHalf);
	ObjEffect_SetVertexXY(obj, 2,  ImgXHalf, -ImgYHalf);
	ObjEffect_SetVertexXY(obj, 3,  ImgXHalf,  ImgYHalf);
	
	ObjEffect_SetVertexUV(obj, 0,        CutX,        CutY);
	ObjEffect_SetVertexUV(obj, 1,        CutX, CutY + ImgY);
	ObjEffect_SetVertexUV(obj, 2, CutX + ImgX,        CutY);
	ObjEffect_SetVertexUV(obj, 3, CutX + ImgX, CutY + ImgY);
	
	ObjEffect_SetVertexColor(obj,0,Alpha,R,G,B);
	ObjEffect_SetVertexColor(obj,1,Alpha,R,G,B);
	ObjEffect_SetVertexColor(obj,2,Alpha,R,G,B);
	ObjEffect_SetVertexColor(obj,3,Alpha,R,G,B);
	
	ObjEffect_SetLayer(obj,Layer);
	
	Obj_SetPosition(obj,X,Y);
	
	return obj;
}