NOHme rindo no encuentro como utilizar estas herramientas juntasalguien por favor pudiera hacer un pequeño ejemplo?
ya he buscado en la web y sigo sin conseguir ENTENDERdebo acotar que realmente estoy urgido por favor ayuda
Eso es lo que quieres hacer no? Maneras habrá muchas, a mí me parece buena esa. Y si se te atasca el script siempre puedes compartirlo y pedir ayuda.
[quote author=juanma_teso" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="23122" data-ipsquote-contentcommentid="110792">Eso es lo que quieres hacer no? Maneras habrá muchas, a mí me parece buena esa. Y si se te atasca el script siempre puedes compartirlo y pedir ayuda.[/quote]sii, el problema es que no se por donde empezar, deberia declara primero el "camera.ScreenPointToRay"?de ser asi, seria:
if (Physics.Raycast(ray, hit)) {
var objectHit: Transform = hit.transform;
// Do something with the object that was hit by the raycast.
}
eso fue lo que encontre, pero no entiendo...En la variable "hit" se guarda un
RaycastHit que aun no ha sido definido (creo)Ela variable "ray" se guarda una variable de tipo
Ray que corresponde a "camera.ScreenPointToRay" (espero ir bien hasta ahí)Luego se comprueba... QUE SE COMPRUEBA??solo quiero almacenar el objeto al que le doy en una variable tipo GameObject para poder trabajar con eso....
he encontrado lo que buscaba, me siento aliviado por que sigo progresando,gracias especiales a juanma-tesopero, como dije antes, de nuevo necesito algo de ayuda, este es el script que ya funciona, para seleccionar el objeto y desceleccionarlo:
import Unit***itor;
import UnityEngine;
import System.Collections;
private var objct : GameObject;
private var lastobjct : GameObject;
private var hit: RaycastHit;
private var step1 : Material;
var step2 : Material;
function Update ()
{
//solo cuando se presione el boton del mouse
if(Input.GetMouseButtonDown(0))
{//disparamos desde la posicion del mouse un rayo
var ray: Ray = GetComponent.<Camera>().ScreenPointToRay(Input.mousePosition);
//igualamos el valor del rayo al raycast
if (Physics.Raycast(ray, hit))
{//obtenemos el trnasform del objeto encontrado
var objectHit: Transform = hit.transform;
//obtenemos el objeto y lo asignamos a la variable de nuevo objeto
objct = objectHit.gameObject;
// si no existe un ultimo objeto seleccionado
if(lastobjct == null)
{
//instaciamos el material del nuevo objeto
step1 = objct.GetComponent.<Renderer>().material;
//le aplicamos otro material
objct.GetComponent.<Renderer>().material = step2;
// actualizamos la definicion del ultimo material seleccionado
lastobjct = objct;
}
// si existe un ultimo objeto selecionado
else{
// si el objeto seleccionado es diferente del ultimo
if(objct != lastobjct)
{
//se reasigna el material original al ultimo objeto seleccionado
lastobjct.GetComponent.<Renderer>().material = step1;
//se reinicializan las variables objct, lastobjct y step1
objct = null;
lastobjct = null;
step1 = null;
}
}
// aqui ira el codigo para acceder a el script de "objct"
}
else
{
// aqui ira el codigo para desactivar el script de "objct"
//se reasigna el material original al ultimo objeto seleccionado
lastobjct.GetComponent.<Renderer>().material = step1;
//se reinicializan las variables objct, lastobjct y step1
objct = null;
lastobjct = null;
step1 = null;
}
}
}
ahora necesito acceder efectivamente a un script de el objeto guardado en "objct" y ejecutar una función de este script agradezco la ayuda que me puedan dar, en aras de completar esta fase de mi proyecto
alguna sugerencia con respecto a este script?
algo de ayuda para lo que me falta?
como siempre, muchas gracias
Pues ya casi lo tienes, tienes que tener una variable del tipo script, luego referenciarla y acceder a ella.http://unity3d.com/es/learn/tutorials/modules/beginner/scripting/getcomponent?playlist=17117 (http://unity3d.com/es/learn/tutorials/modules/beginner/scripting/getcomponent?playlist=17117)