Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Статьи (http://www.flasher.ru/forum/forumdisplay.php?f=101)
-   -   ActionScript 3 с нуля (http://www.flasher.ru/forum/showthread.php?t=92301)

DRAGOnoid 24.07.2007 13:58

удалите копию сообщения пожалуйста а то сдублировалось что то :rolleyes:
Цитата:

Сообщение от __etc
Конструктор класса не есть метод, возвращающий чего-либо.

ухху - записал ;)
Цитата:

Сообщение от __etc
Что помешало наследовать Item от MovieClip и рисовать всякую ботву прям в конструкторе?

ничто не помешало, наоборот я так и хотел. просто незнал как =)

Спасибо что то получилось :victory:
буду копаться, на данный момент вопросов пока нету.

DRAGOnoid 24.07.2007 14:02

ах да, забыл ещё вот что спросить.
пока рабочий код получился следующим
Код:

package {
        import flash.display.*;
       
        public class Parse extends MovieClip {
                public function Parse() {
                        var mc = new Item();
                        addChild(mc);
                        mc.x=100;
                }
        }
}
import flash.display.*;
class Item extends MovieClip {
        private var size:uint        = 80;
        public function Item ():void {
                trace ("хай!");
                var halfSize:uint        = Math.round(size / 2);
                var child:Shape                = new Shape();               
                        child.graphics.beginFill(0xFFCC00);
                        child.graphics.lineStyle(3, 0x666666);
                        child.graphics.drawCircle(halfSize, halfSize, halfSize);
                        child.graphics.endFill();
                        addChild(child);
        }
}

но меня пока терзает тот факт что приходится в одном документе 2 раза вызывать import flash.display.*; :confused:
можно его куда нить пихнуть 1 раз так, чтобы не package ни class Item не ругались?

etc 24.07.2007 14:05

Нет, необходимо сделать это дважды.

DRAGOnoid 24.07.2007 14:06

ладненько - ещё раз спасипки :victory:

DRAGOnoid 24.07.2007 14:25

ещё такой вопрос созрел.
как известно в классе есть свои методы и параметры.
мытоды вызывают внутренние функции которые что то делают.
например
Код:

var mc = new Item();
addChild(mc);
mc.setText('привет');

этот метод вызывает внутреннюю функцию, которая вставляет текст внутрь
Код:

public function addText(text:String) {
this.txt.text = text;
}

(это просто пример - я конечно предполагаю что можно просто через public задавать параметры извне, но я другое хочу).
Возможно ли сделать такой параметр, который бы работал как метод. т.е. писать не mc.setText('привет'); а mc.setText = 'привет'; (этот вопрос меня интересовал ещё с двойки)

etc 24.07.2007 14:38

Нужно использовать сеттер.

Код:

public function set text(value:String):void {
    this.txt.text = value;
}

Код:

mc.text = 'hello';

DRAGOnoid 24.07.2007 14:55

вах! Здорово! Спасибо !!!

DRAGOnoid 30.07.2007 12:39

такой вопрос. Попробую объяснить понятно =)

есть некоторое клетчатое поле, в каждой клетке могут быть несколько мувклипов. само поле имеет 2.5D проекцию
http://dragonnoid.ru/images/2.5D.JPG

Так вот, на каждой клетке может быть по несколько мувклипов (пользователей обычно для FLASH-чата) сами мувклипы привязанны к двумерному массиву.
1) можно ли как то узнать самый верхний мувклип? и добавить новый поверх него или изменить текущий с его позицией
2) привязать как то положение мувклипов к координате Y так, чтобы выше был тот, чья координата Y меньше
3) может есть более логичный и лёгкий способ? :rolleyes:

miramax 30.07.2007 13:10

Я бы попробовал примерно вот такие глубины вложенности:
Код:

              01
            02  03
          04  05  06
        07  08  09  10
      11  12  13  14  15
    16  17  18  19  20  21
  22  23  24  25  26  27  28


vapes 30.07.2007 13:59

Новый мувик поверх всех добавляецца так:
Код:

this.addChild(this.item1);
this.addChild(this.item2);
this.setChildIndex(this.item1,this.numChildren-1);



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

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