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

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

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

Регистрация: Oct 2009
Сообщений: 155
Attention Не принимает за функцию.. Помогите

Доброго времени суток! Всегда работал на AS2. Сел за AS3. Почитал материал и пнринялся писать что то маленькое и быстренько. Вот заступорился, не пойму в чём дело - помогите. Ситуация:


Расположение папок: Папка с .fla файлом -> папка Scripts -> тут файлы .as

Файл .fla:
1. Пустое поле. Class: Scripts.main.
2. В библиотеке один символ. В настройках у него поставил галку "Исп для AS" и прописал класс hero.


Файл main.as :

Код AS3:
package Scripts {
 
	import flash.display.MovieClip;
	import Scripts.hero;
 
 
	public class main extends MovieClip {
 
	public var hero_Yellow:hero = new hero();
 
		public function main() {
 
			hero_Yellow = new hero();
			addChild(hero_Yellow);
 
			hero_Yellow.initial();
 
		}
 
	}
 
}


Файл hero.as :

Код AS3:
package Scripts {
 
	import flash.display.Sprite;
 
	public class hero extends Sprite {
 
		public function initial() {
			this.x = 100;
			this.y = 50;
		}
 
	}
}
Проблема: При запуске пишет ошибку в файле main.as на строку hero_Yellow.initial();
что это не является функцией...

Помогите.

Старый 16.03.2010, 14:53
fljot вне форума Посмотреть профиль Отправить личное сообщение для fljot Найти все сообщения от fljot
  № 2  
Ответить с цитированием
fljot

блогер
Регистрация: Jul 2007
Сообщений: 940
Записей в блоге: 3
Цитата:
Сообщение от NAO111 Посмотреть сообщение
2. В библиотеке один символ. В настройках у него поставил галку "Исп для AS" и прописал класс hero.
надо Scripts.hero

вообще, конечно, надо
scripts.Hero
Main
yellowHero.initialize()

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
В настройках надо полное имя класса прописывать, т.е. с пакетом вместе. Тем более там есть рядом кнопка, для того, чтобы можно было проверить видит ли Flash ваш класс.

ps: Названия пакетов с маленькой, а классов с большой принято писать.

Старый 16.03.2010, 14:55
Kidd002 вне форума Посмотреть профиль Отправить личное сообщение для Kidd002 Посетить домашнюю страницу Kidd002 Найти все сообщения от Kidd002
  № 4  
Ответить с цитированием
Kidd002

Регистрация: Apr 2004
Адрес: Россия, Москва
Сообщений: 60
Отправить сообщение для Kidd002 с помощью ICQ
Уже помогли )
Пара замечаний:
1.
public var hero_Yellow:hero = new hero();
hero_Yellow = new hero();
Зачем вы пытаетесь создать объект два раза?
2. Называйте классы с большой буквы.


Последний раз редактировалось Kidd002; 16.03.2010 в 14:58. Причина: Ошибся
Старый 16.03.2010, 14:56
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 5  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
У класса hero нет конструктора hero().
Конструктор неявно создается. Его не обязательно прописывать, если он пустой.

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

Регистрация: Oct 2009
Сообщений: 155
Спасибо большое за советы! "Проблема" =) закрыта.

Старый 16.03.2010, 15:05
Kidd002 вне форума Посмотреть профиль Отправить личное сообщение для Kidd002 Посетить домашнюю страницу Kidd002 Найти все сообщения от Kidd002
  № 7  
Ответить с цитированием
Kidd002

Регистрация: Apr 2004
Адрес: Россия, Москва
Сообщений: 60
Отправить сообщение для Kidd002 с помощью ICQ
Да, я уже проверил. Почему-то раньше думал что конструктор нужно обязательно прописывать :\

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

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

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


 


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


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