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

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

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

Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
По умолчанию Не вызывается функция в классе

вот у меня есть класс
Код AS3:
package src
{
	import flash.display.MovieClip;
 
 
	public class Basic_pers extends MovieClip
	{
		var speed:int;
 
		var type:int;
		var random:int;//1 -право, 2 -лево
 
		public function Basic_pers()
		{
		AddToStageBot();
 
		}
 
 
 
		public function setLoc():void
		{
			random = int(Math.random() * 2);
		    trace(random);
		}
 
		public function AddToStageBot():void
		{
			setLoc();
			if (random==1)
			{
				trace("var 1");
				this.x = 300;
				this.y = 300;
				//this.scaleX = 1
			}
			if(random==0)
			{
				trace("var 2");
 
				this.x = 300;
				trace(this.x);
				//this.scaleY = -1;
				this.y = 300;
				trace(this.y);
			}
 
		}
 
	}
 
}
я его наследую в другом классе
Код AS3:
package src 
{
 
	/**
	 * ...
	 * @author Zephyr
	 */
	public class  Botan_all extends Basic_pers
	{
		public function Botan_all() 
		{
			type = 0;
 
		}
	}
 
}
а потом создаю объект и добавляю его на суену в классе Main
Код AS3:
var bor:Botan_all = new Botan_all();
			trace(bor.random);
			addChild(bor);
но функция AddToStageBot() не выплняется и персонаж создается в точке (0,0) почему?что я не так сделал?

Старый 23.09.2011, 13:24
Aziz Zaynutdinoff вне форума Посмотреть профиль Отправить личное сообщение для Aziz Zaynutdinoff Посетить домашнюю страницу Aziz Zaynutdinoff Найти все сообщения от Aziz Zaynutdinoff
  № 2  
Ответить с цитированием
Aziz Zaynutdinoff
 
Аватар для Aziz Zaynutdinoff

Регистрация: Feb 2006
Адрес: Moscow
Сообщений: 552
Потому что надо вызывать конструктор родителя в наследнике
Код AS3:
package src 
{
 
	/**
	 * ...
	 * @author Zephyr
	 */
	public class  Botan_all extends Basic_pers
	{
		public function Botan_all() 
		{
			super(); // если конструктор родителя надо выполнить до установки type
			type = 0;
 			// super(); // если конструктор родителя надо выполнить после установки type
		}
	}
 
}

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

Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
все равно не работает, и вот этот trace(bor.random); выдает undifined

Старый 23.09.2011, 13:29
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 4  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Aziz Zaynutdinoff, конструткор суперкласса вызовется первой строчкой, если не указано обратное;

@Автор, в Вашем коде нету никакой графики, поэтому как Вы можете судите о том, где создается персонаж?
Кстати, код правильный. А undefined он выдавать ну никак не может. Вы что-то делаете не так

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

Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
в библиотеке есть персонаж с линкейджем Botan_all, и персонаж добавляется в левом верхнем углу

Добавлено через 10 минут
и конструктор не вызывается ни до ни после type

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

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
А, Вы компилите в IDE, понял.
Прикрепите пример.

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

Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
я компилю в FD

Добавлено через 6 минут
странно,пока собирал тестовый файл чтоб сюда скинуть,он заработал...

Добавлено через 14 минут
в примере работает а в моей игре не работает)хотя все так же)

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

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Значит, не так. Удаляйте, упрощайте пример из игры, плавно превращая его в точную копию того, что Вы выложили здесь и обнаружите проблему.

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

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

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


 


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


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