Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   ПРоблема с классом (http://www.flasher.ru/forum/showthread.php?t=151917)

Vansimar 08.03.2011 16:15

ПРоблема с классом
 
вот класс
Код AS3:

package src{
 
        public class Barriers {
                public function Barriers() {
 
 
                }
 
                public function Walls(x:int=100,y:int=100,rot:int=0):void {
                        var wall:Wall=new Wall();
                        wall.x=x;
                        wall.y=y;
                        wall.rotation=rot;
 
 
                }
        }
}



вот так я его использую в кадре
Код AS3:

import src.*;
new Barriers;
Walls(100,200,0);

этим кодом я хочу вытащить из библиотеки мувик ,он залинкован как Wall..и вылазиет такая ошибка 1180: Call to a possibly undefined method Walls. что я сделал не так?

КорДум 08.03.2011 16:19

1. НЕ ПИШИТЕ В КАДРАХ!!!!
2. у конструктора принято писать скобки - ()
3. а методы принято называть с маленькой буквы
4. вы создали экземпляр класса Barriers где-то в памяти, не более
5. у вашего главного класса (который получается после сборки всех кадров (см. п.1)) нет метода Walls
Код AS3:

var abc:Barriers = new Barriers();
abc.Walls(100, 200, 0);

6. не забудьте добавить в отображение.

Vansimar 08.03.2011 16:21

Цитата:

И не забудьте добавить в отображение.
это что?

КорДум 08.03.2011 16:23

Прочтите Мука, почитайте хелп.
addChild

Добавлено через 1 минуту
Тему прикроют за неинформативное название. Исправляйтесь.

samana 08.03.2011 16:32

Цитата:

Сообщение от Vansimar (Сообщение 978809)
это что?

Писать программу угадывая код, очень пустое и долгое занятие. Действительно, почитайте сначала хоть какую нибудь книгу на эту тему, поверьте вы не пожалеете.

Vansimar 08.03.2011 16:32

я добавил addChild(wall);
Код AS3:

...var wall:Wall=new Wall();
                        wall.x=x;
                        wall.y=y;
                        wall.rotation=rot;
                        addChild(wall);...

но теперь вылезает такая ошибка 1180: Call to a possibly undefined method addChild.

КорДум 08.03.2011 16:36

И все же, почитайте Мука, хорошо?
1. нужно расширить ваш класс от Sprite
2. нужно добавить и экземпляр класса Barriers в отображение тоже, так как он является контейнером для вашего wall
3. кроме того, после Мука прочтите про ООП и паттерны хоть немного, много вопросов будет ведь.

Vansimar 08.03.2011 16:39

Хорошо,обязательно перечитаю! Спасибо за помощь


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

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