Hello World!
I’m making a simple pvp 3D chess game and I have a few problems…
First of all, I would like to be able to click and drag a chess piece, so when clicked (while holding mouse button down) it automatically moves “up” just above other pieces and then I should be able to drag it around, and place it somewhere upon mouse button release.
All I have is this code, which moves it awkwardly:
private var screenPoint: Vector3;
private var offset: Vector3;
private var curScreenPoint : Vector3;
private var curPosition : Vector3;
function Start () {
}
function Update () {
}
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));
Screen.showCursor = false;
}
function OnMouseDrag() {
curScreenPoint = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z);
curPosition = Camera.main.ScreenToWorldPoint(curScreenPoint) + offset;
transform.position = curPosition;
}
function OnMouseUp(){
Screen.showCursor = true;
}
Secondly, I would like to highlight an object using (I guess) OnMouseEnter and OnMouseExit, but again my code doesn’t work! I have no errors, but it simply won’t change my predefined defaultMaterial to OnHoverMaterial…?
var defaultMaterial : Material;
var onHoverMaterial : Material;
function OnMouseEnter(){
defaultMaterial = renderer.material;
renderer.material = onHoverMaterial;
}
function OnMouseExit(){
renderer.material = defaultMaterial ;
}
Thanks guys!