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

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

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

Регистрация: Nov 2010
Сообщений: 111
По умолчанию Вызов функции из другого класса

Добрый вечер.

Никак не могу понять. У меня есть класс Panel. В нем кнопка - home, которая кидает нас в menu (gotoAndStop).
Еще у меня есть несколько игровых классов. Каким образом мне удалить ENTER_FRAME в них, когда игрок кликает на эту кнопку?

У меня был вариант - просто вызвать функцию в этих классах, которая удалит все и вся. Но никак не могу понять как ее вызвать...

Или есть другой вариант подобной задачи ? (в любом случае подскажите, как решить моим способом)

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Переформулируйте, пожалуйста. В огороде бузина...
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 16.12.2012, 00:45
TEI вне форума Посмотреть профиль Отправить личное сообщение для TEI Найти все сообщения от TEI
  № 3  
Ответить с цитированием
TEI
 
Аватар для TEI

Регистрация: Nov 2010
Сообщений: 111
Проще говоря - как вызвать функцию из другого класса ?

Старый 16.12.2012, 01:52
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
ссылкаНаОбъект.имяФункции();
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Nov 2010
Сообщений: 111
Не совсем понял... в одном классе:
Код AS3:
var engine_cla:Engine;
engine_cla.addEle1();
в класса Engine:
Код AS3:
public function addEle1() {
			ele1_var = new ele1_vaz;
			ele1_var.x = 100;
			ele1_var.y = 444;
			addChild(ele1_var);
		}
Почему не работает?

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Код AS3:
var engine_cla:Engine = new Engine();
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 17.12.2012, 00:13
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Переменную мало объявить, ее надо дать ссылку на созданный экземпляр. А сейчас, engine_cla у вас равен null.
Код AS3:
var engine_cla:Engine = new Engine ();
engine_cla.addEle1();
PS. В ActionScript, подчеркивание используется только для констант, а переменные записывают не ele1_var, а ele1Var. Классы пишут с большой буквы, таким образом, ele1_vaz становится Ele1Vaz.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Nov 2010
Сообщений: 111
Вау. Какой быстрый фид бек! Спасибо! Буду разбираться дальше!

Добавлено через 27 минут
Хоть убейте. Почему это не работает?
Код AS3:
package code
{
        import flash.display.*
	import flash.events.*
	import flash.text.*
	import flash.ui.*
	import flash.utils.*;
	import flash.media.*;
	import flash.sampler.*;
	import code.*;
 
	dynamic public class Ele1 extends Main {
		var engine_cla:Engine;
 
		public function Ele1() {
                     playBt.addEventListener(MouseEvent.CLICK,create_obj_f);
		}
//
		function create_obj_f(e:MouseEvent) {//создать
			engine_cla = new Engine();
			engine_cla.addEle1();
 
		}	
	}
}

Код AS3:
package code
{
        import flash.display.*
	import flash.events.*
	import flash.text.*
	import flash.ui.*
	import flash.utils.*;
	import flash.media.*;
	import flash.sampler.*;
	import code.*;
 
	dynamic public class Engine extends Main {
public function Engine() {
}
                public function addEle1() {
			// создаю
		}
 
	}
}
Добавлено через 28 минут
Выдает ошибку уже на
Код AS3:
engine_cla = new Engine();

Старый 17.12.2012, 00:47
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 9  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Какую ошибку?

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

Регистрация: Nov 2010
Сообщений: 111
Цитата:
Сообщение от udaaff Посмотреть сообщение
Какую ошибку?
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at code::Engine()
at code::Ele1/create_obj_f()

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

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

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


 


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


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