Hello there! My name is Niko. I have a little problem with my C# script.
using UnityEngine;
using System.Collections;
public class test : MonoBehaviour {
public float dynamicmouseX;
public float dynamicmouseY;
public float staticmouseX;
public float staticmouseY;
public bool Clicked = false;
public Texture gameStartTexture;
public void Update() {
dynamicmouseX = Input.mousePosition.x;
dynamicmouseY = Input.mousePosition.y;
}
public void OnMouseDown() {
staticmouseX = dynamicmouseX;
staticmouseY = dynamicmouseY;
if (Input.GetMouseButtonDown(0))
Clicked = true;
}
public void OnGUI() {
if (Clicked) {
GUI.DrawTexture (new Rect(staticmouseX,staticmouseY,100,100), gameStartTexture);
}
}
}
program should:
-
always calculate coordinates of the mouse position
public void Update() {
dynamicmouseX = Input.mousePosition.x;
dynamicmouseY = Input.mousePosition.y;
}
that’s alright.
-
By mouse click, coordinates of the cursor must be written in variables “dynamicmouseX” and “dynamicmouseY”
public void OnMouseDown() {
staticmouseX = dynamicmouseX;
staticmouseY = dynamicmouseY;
if (Input.GetMouseButtonDown(0))
Clicked = true;
}
that’s alright.
-
Also, by mouse click, program should draw texture in coordinates, which program has written
public void OnGUI() {
if (Clicked) {
GUI.DrawTexture (new Rect(staticmouseX,staticmouseY,100,100), gameStartTexture);
}
but, I have a problem with Y coordinates…
Why the rect is not displayed correctly on the Y axis?
Known anybody alternative methods?


Hmm.. it is interesting. Thank you very much for your help! Your method works perfectly!
– jokephenomenon