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

Кирилл63 02.03.2011 19:04

Объясните зачем нужен Четырехугольник при простом рисования линии
 
Код AS3:

package 
{
        import flash.display.Sprite;
        import flash.display.CapsStyle;
        import flash.display.LineScaleMode;
        import flash.events.MouseEvent;
 
        public class main extends Sprite
        {
                var _sprite:Sprite;
                public function main()
                {
                        _sprite = new Sprite ();
                        _sprite.graphics.beginFill(0xCCCCCC);
                        _sprite.graphics.drawRect(0, 0, 600, 400);
                        _sprite.graphics.endFill();
                        addChild(_sprite);
                        _sprite.addEventListener(MouseEvent.MOUSE_DOWN, down);
                        _sprite.addEventListener(MouseEvent.MOUSE_UP,up);
 
 
 
                }
                public function mmove(e:MouseEvent):void
                {
                        _sprite.graphics.lineTo(mouseX,mouseY);
                }
                public function down(event:MouseEvent):void
                {
                        _sprite.graphics.lineStyle(20, 0, 0.5);
 
                        _sprite.graphics.moveTo(mouseX ,mouseY);
                        _sprite.addEventListener(MouseEvent.MOUSE_MOVE, mmove);
 
                }
                public function up(event:MouseEvent):void
                {
                        _sprite.removeEventListener(MouseEvent.MOUSE_MOVE, mmove);
 
                }
        }
}

Без этого _sprite.graphics.drawRect(0, 0, 600, 400); четырехугольника рисовать просто отказывается , ошибки ни какой не возникает . Как я понял что Спрайтом рисовать можно только на Спрайте ? Пававильно ли ? И если так то каким образом мне этот спрайт четырехугольник нарисовать на сцене не програмно (так для справки) ? ни на каком из 2х типов не рисует (Графика , Мувиклип) !
И как если и рисовать Rect програмно то как к нему достучаья до ....alpha= ?

Gaen 02.03.2011 19:27

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

Кирилл63 02.03.2011 20:01

Спасибо !
 
Спасибо ! Ситуация прояснилась !

in4core 02.03.2011 22:41

чего чего ?

Код AS3:

var sh:Shape = new Shape();
sh.graphics.lineStyle(1,0);
sh.graphics.moveTo(100,100);
sh.graphics.lineTo(0 , 0);
addChild(sh);

и никаких четырех - угольников

КорДум 02.03.2011 22:57

in4core, внимательно вникните в код, а потом в ответ от GAIKER.

in4core 02.03.2011 23:50

Цитата:

Объясните зачем нужен Четырехугольник при простом рисования линии
Название темы - должно раскрывать суть вопроса)))

tsarapkabel 03.03.2011 01:25

Зачем drawRect при рисовании линии?
Можно в спрайт:
Код AS3:

var sprite:Sprite = new Sprite();
sprite.graphics.lineStyle(3, 0x0);
sprite.graphics.lineTo(150, 150);
addChild(sprite);

Или я тоже что-то не понимаю...

bav 03.03.2011 01:46

tsarapkabel, тоже. У Кирилла прослушка мыши вешается на _sprite, следовательно, если от изначально пуст, реакции на мышь не последует. Кирилл63, можно down() и up() повесить на stage, тогда рисование прямоугольника не потребуется. Только сначала нужно дождаться появления stage.


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

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