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

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

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

Регистрация: Oct 2009
Сообщений: 7
По умолчанию не получается отловить событие MouseEvent.CLICK

Ребят такой вопрос... работаю с FlexBuilder
ни как не могу заставить банер перенаправлять на страницу((
Код AS3:
package
{
	import flash.display.*;
	import flash.events.*;
	import flash.net.*;
	import flash.system.*;
	import flash.ui.*;
	public class test extends Sprite
	{
 
		[Embed(source='logo.png')]
		private var logoPanelClass:Class;
		private var logoPanel:Bitmap = new Bitmap();
		public function test()
		{
 
 
			logoPanel= new logoPanelClass ()as Bitmap;
			logoPanel.height = 100;
			logoPanel.width = 200;
 
 
 
			logoPanel.addEventListener(MouseEvent.CLICK, logoPanelClickListener);
			stage.addChild(logoPanel);
 
			function logoPanelClickListener(e:MouseEvent):void {
				var url:String="http://localhost";
				var urlRequest:URLRequest=new URLRequest(url);
				var window:String="_top";
				navigateToURL(urlRequest,window);
			}
		}
 
 
	}
}
банер выводится.. а клик не могу отловить((

Старый 03.07.2011, 10:49
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 2  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Естественно. Чтобы все работало нужно отказаться от вложенных функций.
В данном случае, после выполнения кода конструктора, на функцию logoPanelClickListener больше нет никаких ссылок, и сборщик мусора ее может успешно удалить.
Нужно сделать так:
Код AS3:
package
{
	import flash.display.*;
	import flash.events.*;
	import flash.net.*;
	import flash.system.*;
	import flash.ui.*;
	public class test extends Sprite
	{
 
		[Embed(source='logo.png')]
		private var logoPanelClass:Class;
		private var logoPanel:Bitmap = new Bitmap();
		public function test()
		{
 
 
			logoPanel= new logoPanelClass ()as Bitmap;
			logoPanel.height = 100;
			logoPanel.width = 200;
 
 
 
			logoPanel.addEventListener(MouseEvent.CLICK, logoPanelClickListener);
			stage.addChild(logoPanel);
 
		}
                private function logoPanelClickListener(e:MouseEvent):void {
			var url:String="http://localhost";
			var urlRequest:URLRequest=new URLRequest(url);
			var window:String="_top";
			navigateToURL(urlRequest,window);
		}
 
	}
}

Старый 03.07.2011, 11:04
fil.diesel вне форума Посмотреть профиль Отправить личное сообщение для fil.diesel Найти все сообщения от fil.diesel
  № 3  
Ответить с цитированием
fil.diesel

Регистрация: Oct 2009
Сообщений: 7
все равно нехочет работать((

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Bitmap не может ловить события мыши, он не наследуется от InteractiveObject.
Код AS3:
package
{
	import flash.display.*;
	import flash.events.*;
	import flash.net.*;
	import flash.system.*;
	import flash.ui.*;
	public class test extends Sprite
	{
 
		[Embed(source='logo.png')]
		private var logoPanelClass:Class;
		private var logoPanel:Sprite;
		public function test()
		{
			var bm:Bitmap = new logoPanelClass () as Bitmap;
			bm.height = 100;
			bm.width = 200;
			logoPanel= new Sprite();
			logoPanel.addChild(bm);
			logoPanel.addEventListener(MouseEvent.CLICK, logoPanelClickListener);
			stage.addChild(logoPanel);
 
		}
                private function logoPanelClickListener(e:MouseEvent):void {
			var url:String="http://localhost";
			var urlRequest:URLRequest=new URLRequest(url);
			var window:String="_top";
			navigateToURL(urlRequest,window);
		}
 
	}
}
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 03.07.2011, 11:28
fil.diesel вне форума Посмотреть профиль Отправить личное сообщение для fil.diesel Найти все сообщения от fil.diesel
  № 5  
Ответить с цитированием
fil.diesel

Регистрация: Oct 2009
Сообщений: 7
спасибо! эх полномочий не хватает плюсануть(( а надо бы.

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

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от goodguy Посмотреть сообщение
на функцию logoPanelClickListener больше нет никаких ссылок
А у logoPanel?

Старый 03.07.2011, 22:40
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 7  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
А у logoPanel?
Действительно. Не доглядел

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

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

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


 


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


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