Форум 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)
-   -   Class'ы их создание и работа с ними (http://www.flasher.ru/forum/showthread.php?t=103206)

D12 31.10.2007 19:30

Class'ы их создание и работа с ними
 
Вложений: 1
Прошу обьясните мне на простых примерах как они создаются, как ими управлять, что можно с их помощью создовать

CrazyFlasher 31.10.2007 20:06

вам для начала лучше поискать общую лит-ру про ООП..не важно, AS, не AS...просто чтобы понять саму суть

udaaff 31.10.2007 20:17

Советую Мука почитать. Основы ActionScript 2.0

Fl00r 31.10.2007 20:21

Честно говоря ну прочитал я Мука. И остался в еще большем недоумении. Когда начал сам что-то писать - стало легче. Когда Nirth угрожал расстрелом за нечеловеческий код, то я совсем просветлел и понял, что такое конструктор, метод и фигурные скобочки в loop actions =).
Юмор юмором, но для меня лучшая школа - практическая.
Но помочь D12 не смогу, так как не считаю себя компетентным человеком в вопросах ООП.

udaaff, напугал по началу =) Цена: 36080 руб.

wvxvw 31.10.2007 20:30

Код:

class DemoClass {
        public static function main() {
                var my_txt:TextField = _root.createTextField("my_txt", 1, 100, 100, 300, 100);
                my_txt.multiline = true;
                my_txt.wordWrap = true;
                var my_fmt:TextFormat = new TextFormat();
                my_fmt.color = 0xFF0000;
                my_fmt.underline = true;
                my_txt.text = "This is my first test field object text.";
                my_txt.setTextFormat(my_fmt);
        }
}
//------- calling the function somewhere furthe in the code ----//
// DemoClass.main();
//--------------------------------------------------------------//

Это что касается твоего кода. Лучше задавай конкретные вопросы - на них легче овечать =)

D12 31.10.2007 21:17

Хорошо :)
Как её с места столкнуть ?
Код:

class Star extends MovieClip {
        //
        var Go:Number = 3;
        //
        function Star() {
                var star:MovieClip = _root.createEmptyMovieClip("star", star.getNextHighestDepth());
                star.beginFill(0xFFFFFF);
                star.moveTo(-5, -1);
                star.lineTo(-5, -1);
                star.lineTo(5, -1);
                star.lineTo(5, 1);
                star.lineTo(-5, 1);
                star.endFill();
                star.endFill();
                star._x = 275;
                star._y = 200;
                star._alpha = 100;
        }
        //
        public function onEnterFrame():Void {
                _root.star._y += Go;
        }
        //
}


udaaff 31.10.2007 21:25

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

class Star extends MovieClip {
       
        private var _go:Number
        private var _i:Number
        // если массив явл. константой, то можно и тут ему значение присвоить,
        // если же значение массива будет меняться runtime, то надо значение
        // присваивать в конструкторе или в onLoad
        private var COLOR_BOX:Array = [0x9999CC, 0x00CCFF, 0x66CCFF, 0xFF99CF, 0x0033CC];
        //
        public function onLoad():Void {
                // инициализация начальных свойств
                _go = 3;
                _i = 0;
                __drawStar;
        }
       
        private function __drawStar():Void{               
                // выражения
        }
       
        public function onEnterFrame():Void {
                // выражения
        }
}


D12 31.10.2007 21:34

Программно в классе можно рисовать ?

udaaff 31.10.2007 21:50

Код:

//в кадре
//var mc = attachMovie("id", "mc", getNextHighestDepth(), {w: 100, h: 50})

class Star extends MovieClip {
       
        private var _w:Number
        private var _h:Number
       
        public function onLoad():Void {
                __drawRect(_w, _h);
        }
       
        private function __drawRect(w:Number, h:Number):Void{               
                beginFill(0x00FF00);
                lineStyle(0);
                lineTo(w, 0);
                lineTo(w, h);
                lineTo(0, h);
                lineTo(0, 0);
                endFill();
        }
       
        public function set w (value:Number):Void {
                _w = value;
        }
       
        public function set h (value:Number):Void {
                _h = value;
        }
}


D12 31.10.2007 21:59

теперь к полученному результату можно дополнить подобное действие ?
_x += 1;

Нарисованный программно в классе обьект можно ли в этом же классе позиционировать, или может нужен еще для этого класс ?


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

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