Форум 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)
-   -   массив png рисунков (http://www.flasher.ru/forum/showthread.php?t=101514)

Tirex 20.09.2007 11:56

массив png рисунков
 
Начал делать игру шахматы. Доску загрузил как jpg
Код:

                var linkageId:String = "board";
                board = BitmapData.loadBitmap(linkageId);
//аттачим к главному
                mainc.attachBitmap(board,0);

Далее есть 12 фигур (png) добавлены в library проекта как Bitmap.
пытаюсь загрузить их в массив вручную

Код:

                this.p = new Array(2);
                this.p[0] = new Array(6);               
                this.p[1] = new Array(6);
                this.p[0,0] = mainc.createEmptyMovieClip(this.p[0,0], 2);
                this.p[0,0].loadMovie("fb");
                this.p[0][0]._x = 300;
                this.p[0][0]._y = 300;

fb это linkage id рисунка в library. Пробовал примеры из FAQ. еще больше запутался :(

проект выглядит так (chess.fla)
Код:

import ChessGame.*
var myChess:ChessGame = new ChessGame(_root);

а сам код уже в ChessGame.as

Wolsh 20.09.2007 15:53

Во-первых, почему loadMovie("fb"); когда это картинка в библиотеке?
Во-вторых, почему то p[0,0], то p[0][0].
В-третьих, что это за странная строчка
this.p[0,0] = mainc.createEmptyMovieClip(this.p[0,0], 2); ?
this.p[0,0] не может быть именем мувиклипа, дайте ему человеческое имя.

Tirex 21.09.2007 10:28

Цитата:

Сообщение от Wolsh
Во-первых, почему loadMovie("fb"); когда это картинка в библиотеке?
имя.

Так я не понял как загрузить картинку из библиотеки.
А вы в меня вопросами :(
Насчет остального исправил.

CorC 21.09.2007 10:34

А у вас выше в коде разве не написано?
И вообще лучше мувиками аттачиться чем битмапами

Tirex 22.09.2007 15:15

Цитата:

Сообщение от CorC
А у вас выше в коде разве не написано?
И вообще лучше мувиками аттачиться чем битмапами

Т.е. конверить графику в мувики ?

CorC 25.09.2007 10:26

Не конвертировать а просто перенести в клипы :)

Tirex 25.09.2007 12:20

Создаю битмап, создаю пустой мувик, аттачу битмап к мувику а потом уже этот мувик к главному?
Код:

                       
var fw_b:BitmapData = BitmapData.loadBitmap("fw");
_root.createEmptyMovieClip("fw_m", 3);
fw_m.attachBitmap(fw_b,3);
fw_m.width = 64;
fw_m.height = 64;
mainc.attachMovie("","fw_m",3);

Это вы имели в виду ?

Kikasso 25.09.2007 12:26

Нет, нет, нет. Аттачить (attachMovie) можно только клипы из библиотеки.
Вытаскиваете фотку из библиотеки, кликаете на нее, F8, мувиклип, экспорт, id. Теперь на сцене ее убиваете, а из библитеки можно аттачить.
Если в виде битмапы - то
Код:

import flash.display.BitmapData;
var fw_b:BitmapData = BitmapData.loadBitmap("fw");
var fw_m = mainc.createEmptyMovieClip("fw_m", 3);
fw_m.attachBitmap(fw_b,3);


Tirex 25.09.2007 15:51

Цитата:

Сообщение от Kikasso
Вытаскиваете фотку из библиотеки, кликаете на нее, F8, мувиклип, экспорт, id. Теперь на сцене ее убиваете, а из библитеки можно аттачить.

Понял, спасибо, У меня они изначально только в библиотеке были. Сцена чистая. С кодом вроде ясно. Теперь хорошо бы это в массив загрузить. Ибо 16 рисунков загружать таким способом долговато.
Я дал linkade id от f0 до f11.
затем пробовал так грузить:
Код:

                var ba = new Array [12]; //для битмапов
                var ma = new Array [12]; //для мувиков
                for (var i=0;i<12;i++)
                {
                var k = mainc.getNextHighestDepth();
                ba[i] = BitmapData = BitmapData.loadBitmap("f"+i);
                ma[i] = mainc.createEmptyMovieClip("ma["+i+"]",k);                        ma[i].attachBitmap(ba[i],k);
                }

что тут не так? :(

Aziz Zaynutdinoff 25.09.2007 19:18

Код:

ma[i] = mainc.createEmptyMovieClip("ma["+i+"]",k);
тут не так

должно быть:
Код:

var ba = new Array(); //для битмапов
var ma = new Array (); //для мувиков
for (var i=0;i<12;i++)
{
        var k = mainc.getNextHighestDepth();
        ba[i] = BitmapData = BitmapData.loadBitmap("f"+i);
        ma[i] = mainc.createEmptyMovieClip("ma"+i, k);    ma[i].attachBitmap(ba[i],0);
}



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

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