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

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

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Я не знаю что за класс Main, но если его заменить на Sprite, то весь код работает без ошибок.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Nov 2010
Сообщений: 111
Мои классы Engine и класс Ele1 расширяются от класс Main. Эм, и как мне быть?
Я это сделал для того, чтобы у них были общие переменные.
Код AS3:
public static

Да - Main - это основной класса. Я так понимаю, так делать нельзя?

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

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

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

Регистрация: Nov 2010
Сообщений: 111
Да, разобрался. Все работает. Но немного странно, вы можете пояснить эти два момента:
1. Если я вызываю функцию из другого класса и в этой функции я создаю новый клип. То мне нужно писать еще addChild(engine_cla). И только тогда работает. Это верно? Или это быдло код
Код AS3:
addChild(engine_cla);
engine_cla.addEle1();
2. Когда я создаю
Код AS3:
var engine_cla:Engine = new Engine();
То срабатывает
Код AS3:
public function Engine() {
в классе Engine. Это нормально ? Просто в этом метод-конструкторе у меня стоят
Код AS3:
addEventListener(Event.ENTER_FRAME,game_f);
И они вызывают ее снова. В чем моя ошибка?

Большая спасибо

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Если я вызываю функцию из другого класса и в этой функции я создаю новый клип. То мне нужно писать еще addChild(engine_cla). И только тогда работает. Это верно?
addChild нужно вызывать каждый раз, когда вы создаете новый клип и хотите добавить его в дисплейный список.
Цитата:
Когда я создаю new Engine() То срабатывает public function Engine() {... Это нормально ?
Конечно. Это вызов конструктора класса. Он срабатывает каждый раз, когда вы создаете новый экземпляр этого класса.
Цитата:
Просто в этом метод-конструкторе у меня стоят...И они вызывают ее снова.
Подписывается, потому что вы подписались) Если вы не хотите, чтобы каждый созданный экземпляр Engine слушал Event.ENTER_FRAME, то не нужно там подписываться. Все зависит от задачи.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Nov 2010
Сообщений: 111
Спасибо, я понял

Добавлено через 15 минут
Хотел уточнить насчет одного момента
Код AS3:
var engine_cla:Engine = new Engine();
addChild(engine_cla);
engine_cla.addEle1();
Сама функция вызывает объект.
Код AS3:
public function addEle1() {
			ele1_var = new ele1_vaz;
			ele1_var.x = mouseX;
			ele1_var.y = 144;
			addChild(ele1_var);
 
		}
Получается что то необычное. Объект вызывается в тело класса Engine, но его глубина принадлежит к классу Ele1, из которого я вызывал функцию. Как это исправить?

ps. если при вызове функции я не пишу addChild(engine_cla); - функция вызывается, но объект не появляется.

Добавлено через 5 часов 58 минут
С этим я разобрался)

Создать новую тему Ответ Часовой пояс 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
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.