Показать сообщение отдельно
Старый 28.12.2009, 02:34
chabapok вне форума Посмотреть профиль Отправить личное сообщение для chabapok Найти все сообщения от chabapok
  № 16  
Ответить с цитированием
chabapok

Регистрация: Jul 2009
Сообщений: 240
Записей в блоге: 1
Цитата:
эм. вроде работает, но объект не крутиться, я дописал еще в классе Rotation_class в функции rotate_me() "trace("jiosdg");" ну так вот он это выводит, а объект все равно не вращаеться.
Есть подозрение, что все же this в этой функции куда-то не туда указывает, поэтому сама функция выполняется, свойство rotation у обьекта, куда указывает this есть, но только объект не тот. Проверьте, разберитесь с классом Function и его методами и укажите что надо, проверьте, что все обьекты созданы и находятся там где надо. Вы переменную rt1 вынесли за пределы функции? вынесите.

Заюзайте дебаггер и сравните адреса.

Цитата:
Покажите хороший стиль
Я не знаю как хорошо. Был вопрос - я дал ответ как это организовать конструкцией языка. А как это сделать красиво - я не знаю, а подсказать можно только если конкретный код видеть. Но сам я так не делаю.

можно, например, завести отдельный класс с функцией
Код AS3:
public class Utils{
public static function updateRotation(target:MovieClip){target.rotatoin+=10}
}
 
//и вызывать
Utils.updateRotation(my_rect);
 
//или изнутри Rotation_class
Utils.updateRotation(this);
 
//или изнутри Base:
Utils.updateRotation(rt1);

Но изучая исходники fl.controls.DataGrid обнаруживаешь, что там такое используется. Там правда не call а apply используют, но суть так же.


Последний раз редактировалось chabapok; 28.12.2009 в 02:44.