![]() |
|
||||||||||
|
|||||
|
[+ 06.08.11]
Регистрация: Jul 2011
Сообщений: 79
|
Здравствуйте.
Как динамически добавлять координатыв твин? То есть я вот разработал функцию private function OnClick(e:MouseEvent):void { var isit:Boolean=false; var object:Object = e.target as Object; for (var i:Number = 0; i < buttonlist.length; i++) { if (object.name == buttonlist[i].Label) { if (buttonlist[i].Action.ObjType == "Camera3D") { for (var z:Number = 0; z < CamArray.length; z++) { if (buttonlist[z].Action.ObjName == CamArray[z].name) { if (buttonlist[z].Action.IsMove) { CamArray[z].x += buttonlist[i].Action.MoveCoord.x; CamArray[z].y += buttonlist[i].Action.MoveCoord.y; CamArray[z].z += buttonlist[i].Action.MoveCoord.z; isit = true; } if (buttonlist[z].Action.IsRotation) { CamArray[z].rotationX += buttonlist[i].Action.MoveCoord.AngleX; CamArray[z].rotationY += buttonlist[i].Action.MoveCoord.AngleY; CamArray[z].rotationZ += buttonlist[i].Action.MoveCoord.AngleZ; isit = true; } } if (isit) { return } } } else { if (buttonlist[i].Action.ObjType == "Object3D") { trace(buttonlist[i].Action.ObjType); for (var q:Number = 0; q < ContArray.length; q++) { trace(ContArray.length); trace(buttonlist[q].Action.ObjName); trace(buttonlist[i].Action.ObjName); trace(ContArray[q].name); if (buttonlist[i].Action.ObjName == ContArray[q].name) { trace(buttonlist[q].Action.ObjName); trace(ContArray[q].name); if (buttonlist[i].Action.IsMove) { trace(buttonlist[i].Action.MoveCoord); ContArray[q].x += buttonlist[i].Action.MoveCoord.x; ContArray[q].y += buttonlist[i].Action.MoveCoord.y; ContArray[q].z += buttonlist[i].Action.MoveCoord.z; isit = true; } if (buttonlist[i].Action.IsRotation) { ContArray[q].rotationX += buttonlist[i].Action.AngleX; ContArray[q].rotationY += buttonlist[i].Action.AngleY; ContArray[q].rotationZ += buttonlist[i].Action.AngleZ; isit = true; } } if (isit) { return } } } } } } } CamArray[z].x += buttonlist[i].Action.MoveCoord.x; CamArray[z].y += buttonlist[i].Action.MoveCoord.y; ; var End:vector3D=new Vector3D(CamArray[z].x += buttonlist[i].Action.MoveCoord.x,CamArray[z].y += buttonlist[i].Action.MoveCoord.y, CamArray[z].z += buttonlist[i].Action.MoveCoord.z); to=new TweenLite(CamArray[z],3,{End.x,End.z}); // Такое не работает,но нужно что-то подобное .... if(isTwening() { var object:Object=e.target as object; object.removeeventListner(MouseEvent.ONCLICK,MouseClick); } В доках не нашёл то что нужно,по поводу динамических координат. Завтра буду пробовать OnComplete для Tween, хотя пока не смогу добавить координаты динамически это бесполезно. |
|
|||||
|
Цитата:
|
|
|||||
|
[+ 06.08.11]
Регистрация: Jul 2011
Сообщений: 79
|
Хорошо,только мне нужно передать не '+20' а buttonlist[i].Action.MoveCoord.x
|
|
|||||
|
[+ 06.08.11]
Регистрация: Jul 2011
Сообщений: 79
|
Если у тебя есть другие идеи для универсального action отпишись тут http://www.flasher.ru/forum/showthre...=162711&page=2
Первое что пришло в голову то и реализовал. к тому же я легко ориентируюсь. И к чему написано "пишите граВмотно". Derhab спасибо. А поворот с помощью твина можно реализовать?На вход подаётся допустим ось поворота и угол(+ или - в зависимости от стороны). Последний раз редактировалось savva; 04.08.2011 в 12:27. |
|
|||||
|
[+ 06.08.11]
Регистрация: Jul 2011
Сообщений: 79
|
А что нужно передавать и каким образомя имею ввиду ось и угол.
И ещё возникла проблема такая.Если buttonlist[i].Action.MoveCoord.x меньше 0 то объект исчезает с экрана(а камера показывает чёрный экран). |
|
|||||
|
[+4 06.05.14]
|
if (object.name == buttonlist[i].Label) { if (buttonlist[i].Action.ObjType == "Camera3D") { Например. В данном случае отказываемся от лишней вложенности на глаз. да и вообще. И так каждые 2 ифа переписать и у вас получится всего 2 цикла. удачи
__________________
Марк Tween |
|
|||||
|
Цитата:
var offset:Number = buttonlist[i].Action.MoveCoord.x; var sign:String = offset >= 0 ? "+" : "-" ; var tween:TweenLite = new TweenLite(obj, 1, {x:sign + Math.abs(offset)}); Цитата:
Последний раз редактировалось derhab; 04.08.2011 в 13:54. |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:23. |
|
|
« Предыдущая тема | Следующая тема » |
|
|