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

DeNCHiK01 15.04.2012 19:29

Как добавить имя автора в окно, при клике правой кнопкой мышки по ролику?
 
Вложений: 1
Добрый день!

Подскажите пожалуйста, как можно добавить имя автора в окно, которое появляется при клике на ролик(см. приложение)?

ramshteks 15.04.2012 19:30

http://help.adobe.com/ru_RU/FlashPla...ntextMenu.html

DeNCHiK01 15.04.2012 20:45

В справке адоба все написано немного сложным для меня языком. Не могли бы вы на простом примере объяснить как сделать так же как в примере?(2 и 3 строчки не нужны)

MikroAcse 15.04.2012 20:52

В интернете куча примеров. Для этого есть google.
Тем более, в хелпе от адоба есть примеры:
[IMG]http://***********/allimage/0/1/2/9/3/129386.png[/IMG]

Вот, например:
Код AS3:

package {
    import flash.ui.ContextMenu;
    import flash.ui.ContextMenuItem;
    import flash.ui.ContextMenuBuiltInItems;
    import flash.events.ContextMenuEvent;
    import flash.display.Sprite;
    import flash.display.Shape;
    import flash.text.TextField;
 
    public class ContextMenuExample extends Sprite {
        private var myContextMenu:ContextMenu;
        private var menuLabel:String = "Reverse Colors";
        private var textLabel:String = "Right Click";
        private var redRectangle:Sprite;
        private var label:TextField;
        private var size:uint = 100;
        private var black:uint = 0x000000;
        private var red:uint = 0xFF0000;
 
        public function ContextMenuExample() {
            myContextMenu = new ContextMenu();
            removeDefaultItems();
            addCustomMenuItems();
            myContextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, menuSelectHandler);
 
            addChildren();
            redRectangle.contextMenu = myContextMenu;
        }
 
        private function addChildren():void {
            redRectangle = new Sprite();
            redRectangle.graphics.beginFill(red);
            redRectangle.graphics.drawRect(0, 0, size, size);
            addChild(redRectangle);
            redRectangle.x = size;
            redRectangle.y = size;
            label = createLabel();
            redRectangle.addChild(label);
        }
 
        private function removeDefaultItems():void {
            myContextMenu.hideBuiltInItems();
            var defaultItems:ContextMenuBuiltInItems = myContextMenu.builtInItems;
            defaultItems.print = true;
        }
 
        private function addCustomMenuItems():void {
            var item:ContextMenuItem = new ContextMenuItem(menuLabel);
            myContextMenu.customItems.push(item);
            item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemSelectHandler);
        }
 
        private function menuSelectHandler(event:ContextMenuEvent):void {
            trace("menuSelectHandler: " + event);
        }
 
        private function menuItemSelectHandler(event:ContextMenuEvent):void {
            trace("menuItemSelectHandler: " + event);
            var textColor:uint = (label.textColor == black) ? red : black;
            var bgColor:uint = (label.textColor == black) ? black : red;
            redRectangle.graphics.clear();
            redRectangle.graphics.beginFill(bgColor);
            redRectangle.graphics.drawRect(0, 0, size, size);
            label.textColor = textColor;
        }
 
        private function createLabel():TextField {
            var txtField:TextField = new TextField();
            txtField.text = textLabel;
            return txtField;
        }
    }
}


DeNCHiK01 16.04.2012 18:28

Спасибо!

Добавлено через 52 часа 1 минуту
Данное меню получилось сделать, но оно возникает только при клике правой мыши по квадрату.
Как можно сделать так, чтобы оно возникало при клике правой мышью на весь ролик?
Попытался сделать через stage.contextMenu, выдал:
Error: Error #2071: Класс Stage не поддерживает это свойство или метод.
at Error$/throwError()
at flash.display::Stage/set contextMenu()
at src::MP3Player/init()
at src::MP3Player()
Хотя в справке адоба это метод есть.


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

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