Форум 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=147661)

wolfgang 10.12.2010 12:16

рисование он лайн
 
Здравствуйте.
Такой вопрос:
Нужно создать скрипт для рисования в окне flash ролика. Так чтобы данные о координатах точек рисуемых линий сохранялись в массиве переменных. То есть чтоб можно было бы сохранить рисунок.

ZergMaster 10.12.2010 13:01

а в чем вопрос?

bav 10.12.2010 14:18

Код AS3:

var telepathist:Telepathist = new Telepathist();
telepathist.addEventListener(TelepathistEvent.CONNECT, onConnect);
telepathist.connectToClient();
 
private function onConnect(event:TelepathistEvent):void
{
    var thoughts:Thoughts = (event.target as Telepathist).readThoughts(event.client);
    var ba:ByteArray = WonderScriptBox.makeResult(thoughts);
    var ref:FileReference = new FileReference();
    ref.save(ba, 'Main.as');
}
 
// Main.as
package
{
        import flash.display.Sprite;
        import flash.events.Event;
        import flash.events.MouseEvent;
        import flash.geom.Point;
 
        public class Main extends Sprite
        {
                private const LINE_THICKNESS:int = 3;
                private const LINE_COLOR:uint = 0x000000;
                private var points:Array;
 
                public function Main()
                {
                        if (stage) init();
                        else addEventListener(Event.ADDED_TO_STAGE, init);
                }
 
                private function init(event:Event = null):void
                {
                        removeEventListener(Event.ADDED_TO_STAGE, init);
 
                        points = [];
                        stage.addEventListener(MouseEvent.CLICK, onClick);
                }
 
                private function onClick(event:MouseEvent):void
                {
                        var point:Point = new Point(event.stageX, event.stageY);
                        points.push(point);
                        if (points.length > 1)
                        {
                                var p1:Point = points[points.length - 2];
                                var p2:Point = points[points.length - 1];
                                graphics.lineStyle(LINE_THICKNESS, LINE_COLOR);
                                graphics.moveTo(p1.x, p1.y);
                                graphics.lineTo(p2.x, p2.y);
                        }
                }
        }
}


wolfgang 11.12.2010 16:43

Ругается на строку :
private function onConnect(event:TelepathistEvent):void
Ошибка:
Монтажный кадр 1, слой "Слой 1", кадр 1, строка 7 1013: Атрибут "private" можно использовать для определений свойств класса.

КорДум 11.12.2010 16:44

Ну, в ошибке ответ. Не пишите в кадрах.

wolfgang 11.12.2010 17:14

А как быть тогда? где код писать?

КорДум 11.12.2010 17:22

В классах, естественно.

Mur4ik 11.12.2010 17:34

Хоть в классах хоть в кадрах, код нужно писАть правильно. ;)

wolfgang, Вам бы может более простые вещи для начала? Например начните с основ использования Adobe Flash CS... и азов ActionScript 3.

wolfgang 11.12.2010 17:42

Cоздаю документ типа -класс "telepathist.as"
в нем объявляю класс Telepathist
пишу код:
Код AS3:

 
var telepathist:Telepathist = new Telepathist();
telepathist.addEventListener(TelepathistEvent.CONNECT, onConnect);
telepathist.connectToClient();
 
private function onConnect(event:TelepathistEvent):void
{
    var thoughts:Thoughts = (event.target as Telepathist).readThoughts(event.client);
    var ba:ByteArray = WonderScriptBox.makeResult(thoughts);
    var ref:FileReference = new FileReference();
    ref.save(ba, 'Main.as');
}

далее я создаю файл
Main.as

в нем пишу
Код AS3:

package
{
...
}

далее создаю файл action script 3.0 file.fla
в настройках документа->параметры action script- указываю путь к директории где лежат файлы telepathist.as и main.as. Далее жму тестировать ролик и ничего(((

Mur4ik 11.12.2010 17:44

bav, я посмеялся, конечно, но человек еще долго будет понимать что вы подразумевали некоторыми строчками ))).

wolfgang, Вы наугад действуете?

P.S. Вам бы может более простые вещи для начала? Например начните с основ использования Adobe Flash CS... и азов ActionScript 3.

P.P.S. Вы не подумайте что нет желания помочь, просто каждый ответ будет порождать с Вашей стороны новые вопросы в геометрической прогрессии.
А вот если овладеете основами, то и помогать уже куда легче (не придется всё делать за Вас).


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

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