Unity3Dを使用してショッピングベースのゲームを作成しています。私のゲームでは、オブジェクトをベルトコンベアに沿って移動させ、それを拾い上げて、マウスを使用してショッピングカートに投げ込む必要があります。これまでのところ、マウスでアイテムを拾うことができますが、特定の方向にマウスを投げさせるにはどうすればよいでしょうか。また、マウスがゲームのある部屋の境界の外にオブジェクトをドラッグできないようにする必要があります。
私がこれまでに持っているコードは次のとおりです。
#pragma strict
var screenPoint:Vector3;
var offset:Vector3;
private var oldMouse:Vector3;
private var mouseSpeed:Vector3;
function Start(){
oldMouse = Vector3.zero;
}
function Update(){
mouseSpeed = oldMouse - Input.mousePosition;
oldMouse = Input.mousePosition;
}
function OnMouseDown()
{
screenPoint = Camera.main.WorldToScreenPoint(gameObject.transform.position);
offset = gameObject.transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z));
}
function OnMouseDrag()
{
var curScreenPoint:Vector3 = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z);
var curPosition:Vector3 = Camera.main.ScreenToWorldPoint(curScreenPoint) + offset;
transform.position = curPosition;
}
function OnMouseUp(){
rigidbody.AddForce(mouseSpeed*Time.deltaTime, ForceMode.Force);
}
ジェームズ