![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
стервочка (я мужик)
|
Rzer, а метод DynamicSprite, я полагаю, является конструктором класса DynamicMovie? и чё? я не вкуриваю данный класс ваще ...
setProperty2 - чё за название метода? автор в курсе, что не динамик класс в этой строчке выдаст ексепшен при неизвестном prop. или этот метод должен быть приватным? а если я к свойству rp присвою null? собственно он всегда по умолчанию null ... при любом небольшом отклонении от плана выдастся фиг пойми какой эксепшен. к этому классу ещё мануал по использованию надо листов на 5. в общем детям показывать такое бредовое толкование библии нельзя. |
|
|||||
|
Не мой класс просто. DynamicMovie - это кончено крепко. А setProperty2 приватным должен быть. Используется setRegistration, scaleX2, scaleY2, x2, y2, к примеру вот в таком примере (кстати на видео тоже не правильно работает - пальцы при изменении масштаба и повороте в разных местах фото оказываются), реализовать правильное движение довольно таки проблематично без такого класса. А с ним реализация сводится к нескольким строчкам:
var regX:Number = point1.lastX + (point2.lastX - point1.lastX) / 2; var regY:Number = point1.lastY + (point2.lastY - point1.lastY) / 2; var pnt:Point = globalToLocal(registrationPoint); this.setRegistration(pnt.x, pnt.y); this.x2 = this.x2 + (regX - registrationPoint.x); this.y2 = this.y2 + (regY - registrationPoint.y); registrationPoint.x = regX; registrationPoint.y = regY; var pnt:Point = globalToLocal(registrationPoint); this.setRegistration(pnt.x, pnt.y); this.scaleX2 = this.scaleY2 = curScale / curDistance * Math.sqrt( (point1.lastX - point2.lastX) * (point1.lastX - point2.lastX) + (point1.lastY - point2.lastY) * (point1.lastY - point2.lastY)) this.rotation2 = curRotation + ( Math.atan2((point1.lastY - point2.lastY), (point1.lastX - point2.lastX))-curAngle) * 180 / Math.PI; setRegistration - задаёт точку вращения. x2,y2, rotation2, scaleX2, scaleY2 - координаты и размеры относительно этой точки регистрации. В примере сначала берем середину между точками и смотрим на отклонение с предыдущей, изменяя координаты. А затем берём её в качестве центра вращения и скалирования картинки.
__________________
if (love is true) break my.heart; Последний раз редактировалось Rzer; 08.01.2009 в 02:49. |
|
|||||
|
стервочка (я мужик)
|
Rzer, ну Вы бы ради приличия бы взяли, та и превратили класс в конфетку
вместо странных методов, взяли бы и сделали override, типизированный доступ, нормальные гетеры, а не эти странные конструкции. гетеры должны работать максимально быстро, так в их задачу не должен входить постоянный пересчёт. к тому же я пока не понял как точка регистрации, которая должна задаваться внутри мувика, работает относительно parent. а если я addChild не сделаю, всё хана? такие классы, вообще нельзя показывать людям. |
|
|||||
|
А ты сам когда-нибудь ей пользовался, чтобы картинки поворачивать и размер их менять относительно какой-то точки? Пример тогда в студию.
__________________
if (love is true) break my.heart; |
|
|||||
|
стервочка (я мужик)
|
Rzer, а чё с ней не так?
|
|
|||||
|
Пользовался)
Димарик прав, вы придумываете какие то надуманные способы, которые к хорошему не приведут... Прочитайте http://www.senocular.com/flash/tutor...ansformmatrix/ от Senocular |
|
|||||
|
Цитата:
Не удается вызвать свойство или метод со ссылкой на объект "null". Вот примерный код var loader:Loader = new Loader(); var img:MovieClip = new MovieClip(); start(); function start():void { loader.load(new URLRequest("file:///E:/res/page-001.jpeg")); loader.x=0; loader.y=0; img.addChild(loader); } trace(" КАДРР"); img.x=+200; img.y=+300; img.projectionCenter(0,0); this.addChild(img); ![]() Добавлено через 2 минуты Прошу прощение на то что выбило сообщение выше(понимаю что не та тема)...какой то глюк, ну если кто ответит буду рад |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:48. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|