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

AntiVIRUZ 06.01.2013 12:42

Как загрузить растровое изображение в кнопку?
 
Делаю игру, вся графика - растр. Нужно сделать кнопку. Думал загрузить в Sprite примерно так:
Код AS3:

[Embed(source = "assets/Shop.png")]
private var shop:Class;
private var Bshop:BitmapAsset = new shop();
private var buttonStart:Sprite = new Sprite;
public function Main():void
{
buttonShop.x = 100;
                        buttonShop.y = 200;
                        buttonShop.width = 200;
                        buttonShop.height = 50;
                        buttonShop.buttonMode = true;
                        buttonShop.graphics.beginBitmapFill(Bshop.bitmapData);
                        stage.addChild(buttonShop);

Но так ничего не отображается. Подскажите, что можно сделать?

gagaga 06.01.2013 13:24

Код AS3:

buttonShop.graphics.beginBitmapFill(Bshop.bitmapData);
buttonShop.graphics.drawRect ...


AntiVIRUZ 06.01.2013 13:44

Спасибо, разобрался

am_devcorp 06.01.2013 16:40

И в таком случае размеры будут уже указаны в drawRect, а
Код AS3:

buttonShop.width = 200;
buttonShop.height = 50;

уже не нужны.

СлаваRa 06.01.2013 17:14

вот вам 2 варианта решения данной задачи
Код AS3:

package {
        import flash.display.Bitmap;
        import flash.display.Sprite;
 
        /**
        * @author SlavaRa
        */

        public class Example extends Sprite {
 
                [Embed(source = "assets/example.jpg")]
                private static var ExampleBitmapClass:Class;
                private static var _exampleBitmap:Bitmap;
                private static function get exampleBitmap():Bitmap {
                        if (!_exampleBitmap) {
                                _exampleBitmap = Bitmap(new ExampleBitmapClass());
                        }
                        return _exampleBitmap;
                }
 
                public function Example() {
                        super();
                        initializeButton1();
                        initializeButton2();
                }
 
                private var _button1:Sprite;
                private var _button2:Sprite;
 
                private function initializeButton1():void {
                        _button1 = new Sprite();
                        _button1.buttonMode = true;
                        _button1.x = 10;
                        _button1.y = 10;
                        _button1.addChild(exampleBitmap);
                        super.addChild(_button1);
                }
 
                private function initializeButton2():void {
                        _button2 = new Sprite();
                        _button2.buttonMode = true;
                        _button2.x = _button1.x + _button1.width + 10;
                        _button2.y = 10;
 
                        _button2.graphics.beginBitmapFill(exampleBitmap.bitmapData, null, false);
                        _button2.graphics.drawRect(0, 0, exampleBitmap.width, exampleBitmap.height);
                        _button2.graphics.endFill();
 
                        super.addChild(_button2)
                }
 
        }
 
}



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

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