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

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

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

Регистрация: Nov 2007
Сообщений: 84
Question Как из одного класса вызвать другой?

Есть класс main.as:
Код:
package 
{
	import flash.display.Sprite;

	public class main extends Sprite
	{

		public function main ()
		{
			var my_flower:Flower=new Flower();
			this.addChild (my_flower);

			var myCactus:CactusBase = new CactusBase();
			this.addChild(myCactus);
Есть класс
Код:
package 
{
...
	public class Flower extends Sprite
	{
		public function Flower ():void
		{
                       ...
			this.addEventListener (Event.ENTER_FRAME,draw_flower);
		}

		function draw_flower (evt:Event):void
		{
                событие
                }
и такой класс

Код:
package 
{
	import flash.display.Sprite;

	public class CactusBase extends Sprite
	{
		public function CactusBase ()
		{
			var cactusSprite:Cactus = new Cactus();
			this.addChild(cactusSprite);
			cactusSprite.x = 687;
			cactusSprite.y = 250;
		}
	}
}
Как сделать так, чтобы класс CactusBase запускался после события в слушателе другого класса Flower? Оба эти класса вызываются из Document Class. Не хочется прописывать класс CactusBase внутри слушателя класса Flower, хочется, чтобы он был внешним, но реагировал на изменения в классе Flower. Как это осуществляется?

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

Регистрация: Sep 2002
Сообщений: 30,787
Вы где-нибудь во фреймворке плеера видели классы, которые имеют имена со строчной буквы?

Вопрос непонятен, особенно в свете «запускался».

Старый 11.12.2007, 10:19
Thanx7 вне форума Посмотреть профиль Отправить личное сообщение для Thanx7 Найти все сообщения от Thanx7
  № 3  
Ответить с цитированием
Thanx7

Регистрация: Nov 2007
Сообщений: 84
Понятно. Значит в данном случае вызов:

Код:
			var myCactus:CactusBase = new CactusBase();
			this.addChild(myCactus);
я могу делать только из класса Flower - иначе никак. Нельзя вызывать класс CactusBase из Main, и в то же самое время прописывать события для него во Flower.

PS. А main.as на Main.as поменял.

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

Регистрация: Sep 2002
Сообщений: 30,787
Можно добавить CactusBase в Flower (хотя по названиям должно быть наоборот) и отправлять всплывающее событие.

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

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

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


 


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


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