forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   Передвижение объектов, создание animation, используя JS (http://forum.boolean.name/showthread.php?t=15710)

listan 25.10.2011 15:29

Передвижение объектов, создание animation, используя JS
 
Здравствуйте) Накопился ряд вопрос по JS скриптам в Unity. Помогите их решить)
Идея такая: пользователь используя кнопки мыши и кнопки клавиатуры передвигает сферу как ему угодно в приделах комнаты.
1)Как сделать так, чтобы при движение сферы,она не застревали в ограничивающих её координатах(стенках комнаты) ,а плавно двигалась по ним вдоль стенки (при движении,если пользователь как бы хочет завести шарик за стенку)?
2)Как можно получить координаты сферы и используя эти координаты создать такую animation (используя JS) таким образом,чтобы при нажатии на какой-нибудь предмет(пусть это будет кнопка) сфера опускалась вниз, например вот мы подвинули сферу? используя предыдущий скрипт передвижения,нажали на кyопку,сфера опустилась вниз.
Заранее спасибо за ответы)

Cам скрипт передвижения объекта

function OnMouseDown () {
var screenSpace = Camera.main.WorldToScreenPoint(transform.position) ;
var offset = transform.position - Camera.main.ScreenToWorldPoint(Vector3(Input.mouse Position.x, Input.mousePosition.y, screenSpace.z));
var curPosition=transform.position;
var curScreenSpace = Vector3(0,0,0);
while (Input.GetMouseButton(0) )
{
curScreenSpace = Vector3(Input.mousePosition.x, Input.mousePosition.y, screenSpace.z);
curPosition = Camera.main.ScreenToWorldPoint(curScreenSpace) + offset;
/*ограничение области передвижения сферы*/
if ((curPosition.x>=-5)&&(curPosition.x<=5)&&(curPosition.y<=4.5)&&(cur Position.y>=0.8)&&(curPosition.z<=13)&&(curPositio n.z>=-5)) {
transform.position = curPosition;}
yield;
}
}


Часовой пояс GMT +4, время: 23:05.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot