Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   В конструкторе нельзя выполнить некоторые действия (http://www.flasher.ru/forum/showthread.php?t=106949)

Волгоградец 22.01.2008 15:14

В конструкторе нельзя выполнить некоторые действия
 
Здравствуйте! Прошу помочь мне разобраться. Почему в конструкторе класса нельзя создать некоторые действия, которые можно было создать при написании в кадре. Например пишу:
Код:

Class ClassA {
  function ClassA ():Void{
      _root.attachMovie ("mc", "mc", 0);
  }
}

Ругается...

Fernando Costa 22.01.2008 16:01

странно, должно работать
Код:

var cl:ClassA = new ClassA()
Class ClassA {
  function ClassA() {
      _root.attachMovie ("mc", "mc", 0);
  }
}


CrazyFlasher 22.01.2008 16:27

Class пишется с маленькой буквы

Fernando Costa 22.01.2008 16:30

каюсь, не заметил

Волгоградец 22.01.2008 23:52

Ах, да. Class с большой буквы - это я описался. А вот насчет конструктора нипанятнооо - ведь я поставил Void - нет возвращаемого значения, а компилятор выдавал ошибку поэтому... И еще вопросик, если позволите:
Код:

class Ball {
        private var _mc:MovieClip;
        function Ball (mc:MovieClip){
                _mc = mc;
                _root.attachMovie("_mc", "ball", 0, {_x: 275, _y: 200});
        }
}

В .fla файле пишу:
Код:

var obj:Ball = new Ball(ball);
При запуске клипа на сцене нет, хотя если явно указать его имя - _root.attachMovie("ball", "ball", 0, {_x: 275, _y: 200}) - то работает...

etc 23.01.2008 01:14

Волгоградец, а вы понимаете, что означают параметры в attachMovie и к каким клипам его нужно применять в вашем случае?

wvxvw 23.01.2008 02:00

Если в библиотеке есть клип с линкедж айди "_mc", то он и появится на сцене, если нет - то ничего не появится.

Волгоградец 23.01.2008 11:56

Цитата:

Сообщение от __etc
Волгоградец, а вы понимаете, что означают параметры в attachMovie и к каким клипам его нужно применять в вашем случае?

Ну если не получается, то значит не совсем понимаю. Поэтому и попросил помочь разобраться.
У меня в библиотеке клип ball. Как при создании нового экземпляра класса заставить этот клип появиться на сцене: var obj:Ball = new Ball(ball) - что нужно прописать в конструкторе?

CrazyFlasher 23.01.2008 12:29

Код:

class Ball {
        public function Ball (linkName:String, target:MovieClip){
                target.attachMovie(linkName, "ball", 0, {_x: 275, _y: 200});
        }
}

Код:

//this - мувик, куда аттачим...в данном случае this == _root
var obj:Ball = new Ball("ball", this);


Волгоградец 23.01.2008 12:35

Спасибо, CrazyFlasher, в очередной раз помог... Оказывается все дело в неправильных кавычках.


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

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