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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.04.2009, 16:19
DrugON вне форума Посмотреть профиль Отправить личное сообщение для DrugON Найти все сообщения от DrugON
  № 1  
Ответить с цитированием
DrugON
 
Аватар для DrugON

Регистрация: Mar 2007
Сообщений: 46
По умолчанию Zoom с помощью transitions

Код AS3:
function loaderCompleteHandler(evt:Event):void {
	var vars:URLVariables = new URLVariables();
	vars.decode(evt.currentTarget.data);
	pictures = new Array();
	transitions = new Array();
	for (var i:int = 0; i < vars.Totalnumber_of_entries; i++) {
		try {
			var picture:Picture = new Picture(vars["foto_url" + i]);
			addChild(picture);
			pictures.push(picture);
			picture.posX = 100;
			picture.posY = 100;
			picture.addEventListener(MouseEvent.MOUSE_OVER, mouseOverBox);
		} catch (err:Error) {
			trace("BAD");
		}
	}
}
 
function mouseOverBox(evt:Event):void {
	var selectedBox:MovieClip = MovieClip(evt.target);
	selectedBox.removeEventListener(MouseEvent.MOUSE_OVER, mouseOverBox);
	var myTransitionManager:TransitionManager = new TransitionManager(selectedBox);
	myTransitionManager.startTransition({type:Zoom, direction:Transition.IN, duration:1, easing:Regular.easeOut, shape:Iris.CIRCLE});
	transitions.push(myTransitionManager);
	myTransitionManager.addEventListener("allTransitionsInDone", animationComplete);
}
 
function animationComplete(evt:Event):void {
	evt.target.content.addEventListener(MouseEvent.MOUSE_OVER, mouseOverBox);
}
Не получается сделать zoom для картинок. При наведении на картинки пишет ошибку
Код:
TypeError: Error #1034: Type Coercion failed: cannot convert Picture@10e2cd29 to flash.display.MovieClip.
	at index_fla::MainTimeline/mouseOverBox()
Помогите разобраться.

Старый 20.04.2009, 16:28
CrazyFlasher вне форума Посмотреть профиль Отправить личное сообщение для CrazyFlasher Найти все сообщения от CrazyFlasher
  № 2  
Ответить с цитированием
CrazyFlasher
 
Аватар для CrazyFlasher

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
попробуйте так...а еще лучше покажите класс Picture
Код AS3:
var selectedBox:Picture = evt.target as Picture;
хотя если Picture экстендит MovieClip, то проблемы не должно быть


Последний раз редактировалось CrazyFlasher; 20.04.2009 в 16:33.
Старый 20.04.2009, 16:29
cihexe вне форума Посмотреть профиль Отправить личное сообщение для cihexe Найти все сообщения от cihexe
  № 3  
Ответить с цитированием
cihexe

Регистрация: Feb 2009
Сообщений: 36
сравни это :

Код AS3:
                                  var picture:Picture = new Picture(vars["foto_url" + i]);
			addChild(picture);
			pictures.push(picture);
			picture.posX = 100;
			picture.posY = 100;
			picture.addEventListener(MouseEvent.MOUSE_OVER, mouseOverBox);
и это:

Код AS3:
var selectedBox:MovieClip = MovieClip(evt.target);
попробуй подставить:

Код AS3:
var selectedBox:Picture = Picture(evt.target);

Старый 20.04.2009, 16:34
DrugON вне форума Посмотреть профиль Отправить личное сообщение для DrugON Найти все сообщения от DrugON
  № 4  
Ответить с цитированием
DrugON
 
Аватар для DrugON

Регистрация: Mar 2007
Сообщений: 46
вот класс Picture
Код AS3:
package {
	import flash.display.Sprite;
	import flash.display.Loader;
	import flash.net.URLRequest;
	import flash.events.*;
	import flash.display.Bitmap;
	public class Picture extends Sprite {
		public var posX:Number;
		public var posY:Number;
		public function Picture(url:String):void {
			var urlRequest:URLRequest = new URLRequest(url);
			var loader:Loader = new Loader();
			loader.load(urlRequest);
			loader.contentLoaderInfo.addEventListener(Event.INIT, initListener);
		}
		private function initListener(event:Event):void {
			var bmp:Bitmap = event.target.content;
			bmp.x = -bmp.width/2;
			bmp.y = -bmp.height/2;
			addChild(bmp);
		}
	}
}
cihexe исправил как вы сказали получил ошибку
Код:
1067: Implicit coercion of a value of type Picture to an unrelated type flash.display:MovieClip.

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

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
Код AS3:
public class Picture extends Sprite {
ну правильно делает, что кидает ошибку.

делайте так
Код AS3:
var selectedBox:Picture = evt.target as Picture;
или так
Код AS3:
var selectedBox:Sprite = evt.target as Sprite;

Старый 20.04.2009, 16:46
DrugON вне форума Посмотреть профиль Отправить личное сообщение для DrugON Найти все сообщения от DrugON
  № 6  
Ответить с цитированием
DrugON
 
Аватар для DrugON

Регистрация: Mar 2007
Сообщений: 46
CrazyFlasher в первом варианте выдает ошибку
Код:
1067: Implicit coercion of a value of type Picture to an unrelated type flash.display:MovieClip.
а во втором
Код:
1118: Implicit coercion of a value with static type flash.display:Sprite to a possibly unrelated type flash.display:MovieClip.

Старый 20.04.2009, 16:55
cihexe вне форума Посмотреть профиль Отправить личное сообщение для cihexe Найти все сообщения от cihexe
  № 7  
Ответить с цитированием
cihexe

Регистрация: Feb 2009
Сообщений: 36
тебе проще зайти в дебаггер, и поставить брейпоинт на
Код AS3:
var selectedBox:MovieClip = MovieClip(evt.target);
и посмотреть что именно приходит в
Код AS3:
evt.target
(просто добавь в watches)

Добавлено через 1 минуту
а лучше проверь
Код AS3:
evt.currentTarget
если у тебя MouseEvent

Старый 20.04.2009, 17:33
DrugON вне форума Посмотреть профиль Отправить личное сообщение для DrugON Найти все сообщения от DrugON
  № 8  
Ответить с цитированием
DrugON
 
Аватар для DrugON

Регистрация: Mar 2007
Сообщений: 46
Ни чего не приходило.
Просто в классе поменял Sprite на MovieClip. Сейчас ошибку не пишет.


Последний раз редактировалось DrugON; 20.04.2009 в 17:37. Причина: нет проблемы
Старый 20.04.2009, 19:14
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 9  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
var bmp:Bitmap = event.target.loader.content as Bitmap;
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 21.04.2009, 15:02
DrugON вне форума Посмотреть профиль Отправить личное сообщение для DrugON Найти все сообщения от DrugON
  № 10  
Ответить с цитированием
DrugON
 
Аватар для DrugON

Регистрация: Mar 2007
Сообщений: 46
cleptoman, спасибо! Работает, как хотелось!

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

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

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


 


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


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