![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Mar 2008
Сообщений: 30
|
Непонимаю почему в примерах автора код приведенный ниже работает, а у меня нет.
Call to a possibly undefined method startDrag through a reference with static type flash.display isplayObjectContainer.Покапавшись в теме, узнал что надо приводить к типу MovieClip(parent as MovieClip) код скомпеллировался, но пределы перетаскивания остались не изменились, тоже самое наблюдается и без .parent Да и опятьже почему у меня надо приводить, а у автора и так все нормально package main {
import flash.display.MovieClip;
import flash.events.*;
import flash.geom.Rectangle;
public class background extends MovieClip {
public function background() {
parent.addEventListener(MouseEvent.MOUSE_DOWN, handleMouseDown);
stage.addEventListener(MouseEvent.MOUSE_UP, handleMouseUp);
stage.addEventListener(Event.MOUSE_LEAVE, handleMouseLeave);
}
function handleMouseDown(event:Event):void {
var dx:Number = width-stage.stageWidth;
var dy:Number = height-stage.stageHeight;
var dragRect:Rectangle = new Rectangle(-dx,-dy, dx,dy);
parent.startDrag(false, dragRect);
}
function handleMouseUp(event:Event):void {
parent.stopDrag();
}
function handleMouseLeave(event:Event):void {
parent.stopDrag();
}
}
}
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Что-то мне подсказывает, что с пределами перетаскивания вы явно перемудрили в вычислениях.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Потому что MOUSE_UP может произойти вне перетягиваемого объекта, а MOUSE_LEAVE вообще только stage слать может.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Скорость рендера на AS3 не сильно быстрее AS2. А вот вычисления — да.
|
|
|||||
|
Регистрация: Jul 2007
Сообщений: 60
|
Просто мега статья, мне оч оч понравилось, все понятно, доступно...
Но у меня одна проблема, когда я все прочел и начал все это делать от руки чтобы выехать что да как работает, появился глюк в прелоадере... Значит в примере с игрой все работает нормально, но если я скопирую класс к себе во флешку, скопирую из библиотеки прелоадер, то все летит в тар тарары... Не компилится, ему не нравится parent.startDrag() Даже если я свой рукописный класс preloader, который, у меня во флешке не работает, поставлю на место класса preloader в примере игры, то он не на что не жалуется... Я ничего не пойму... Help please...
__________________
if live, love. if love, be loved. Последний раз редактировалось Dampire; 18.05.2008 в 22:22. |
|
|||||
|
Регистрация: Oct 2003
Адрес: Москва
Сообщений: 328
|
parent - это DisplayObjectContainer
а метод startDrag объявлен в Sprite. Поэтому нужно делать приведение типа: В игрушке работает, т.к. в настройках была убрана галочка строгой проверки типов. |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 669
|
А можно в данном случае считать, что AS 3 считает в 10 раз быстрее AS 2 (опуская мои стены), если учесть, что коды максимально близки?
Если нет, то хотелось бы услышать, во сколько максимальное число раз он может считать быстрее. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Я не знаю, какой у вас там код. В среднем, AS3 быстрее на порядок.
|
|
|||||
|
weakReference:Boolean
В случае true, за что отвечает этот параметр? Цитата:
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:25. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|