Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0 > Статьи

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.05.2008, 18:42
8bit вне форума Посмотреть профиль Отправить личное сообщение для 8bit Найти все сообщения от 8bit
  № 1  
Ответить с цитированием
8bit

Регистрация: Mar 2008
Сообщений: 30
Непонимаю почему в примерах автора код приведенный ниже работает, а у меня нет.

Call to a possibly undefined method startDrag through a reference with static type flash.displayisplayObjectContainer.

Покапавшись в теме, узнал что надо приводить к типу 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();
		}
		
	}
}

Старый 04.05.2008, 19:16
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Что-то мне подсказывает, что с пределами перетаскивания вы явно перемудрили в вычислениях.

Старый 05.05.2008, 01:06
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Потому что MOUSE_UP может произойти вне перетягиваемого объекта, а MOUSE_LEAVE вообще только stage слать может.

Старый 12.05.2008, 23:05
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Скорость рендера на AS3 не сильно быстрее AS2. А вот вычисления — да.

Старый 18.05.2008, 22:18
Dampire вне форума Посмотреть профиль Отправить личное сообщение для Dampire Найти все сообщения от Dampire
  № 5  
Ответить с цитированием
Dampire
 
Аватар для Dampire

Регистрация: Jul 2007
Сообщений: 60
Просто мега статья, мне оч оч понравилось, все понятно, доступно...
Но у меня одна проблема, когда я все прочел и начал все это делать от руки чтобы выехать что да как работает, появился глюк в прелоадере... Значит в примере с игрой все работает нормально, но если я скопирую класс к себе во флешку, скопирую из библиотеки прелоадер, то все летит в тар тарары... Не компилится, ему не нравится parent.startDrag()
Даже если я свой рукописный класс preloader, который, у меня во флешке не работает, поставлю на место класса preloader в примере игры, то он не на что не жалуется...
Я ничего не пойму...
Help please...
__________________
if live, love.
if love, be loved.


Последний раз редактировалось Dampire; 18.05.2008 в 22:22.
Старый 19.05.2008, 13:07
MerlinTwi вне форума Посмотреть профиль Отправить личное сообщение для MerlinTwi Посетить домашнюю страницу MerlinTwi Найти все сообщения от MerlinTwi
  № 6  
Ответить с цитированием
MerlinTwi
 
Аватар для MerlinTwi

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 328
parent - это DisplayObjectContainer
а метод startDrag объявлен в Sprite. Поэтому нужно делать приведение типа:
Код:
(parent as Sprite).startDrag()
В игрушке работает, т.к. в настройках была убрана галочка строгой проверки типов.
__________________
Создатель: Бойцовский клуб | TimeZero | Sky2Fly
Я возьму сам.

Старый 13.05.2008, 00:25
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 7  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
А можно в данном случае считать, что AS 3 считает в 10 раз быстрее AS 2 (опуская мои стены), если учесть, что коды максимально близки?
Если нет, то хотелось бы услышать, во сколько максимальное число раз он может считать быстрее.

Старый 13.05.2008, 00:36
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Я не знаю, какой у вас там код. В среднем, AS3 быстрее на порядок.

Старый 13.05.2008, 16:00
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 9  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Несравнить как быстрее во много-много-много раз.

Старый 14.05.2008, 12:20
CEBEP вне форума Посмотреть профиль Отправить личное сообщение для CEBEP Посетить домашнюю страницу CEBEP Найти все сообщения от CEBEP
  № 10  
Ответить с цитированием
CEBEP
 
Аватар для CEBEP

Регистрация: Nov 2006
Сообщений: 688
Отправить сообщение для CEBEP с помощью ICQ Отправить сообщение для CEBEP с помощью Skype™
weakReference:Boolean
В случае true, за что отвечает этот параметр?

Цитата:
Simply put,
weakly referenced listeners aren’t supervised by the garbage
collector and, therefore, don’t have to be manually marked for
removal. If only weak references to an object remain after you
have finished using it, then the object is eligible for collection.
Не очень понял, что имеется ввиду

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:25.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.