Вопрос по – максимальный размер спрайта в as3?

0

Есть ли верхняя граница для размера спрайта в as3 / flash 10?

я знаюbitmapData имеет ограничения...

Ваш Ответ

5   ответов
0

которые я бы посоветовал вам не превышать. Я не уверен на 100%, но в моих тестах вы можете использовать BitmapData.draw () для любого объекта DisplayObject, ширина которого превышает 4079 пикселей, а высота - 4082 (на самом деле вы можете, но они не будут отображаться за этими пределами). Однако вы можете нарисовать BitmapDatas больше, чем это.

Я также обнаружил, что эти значения являются «безопасными». границы для ограничительной рамки любого DisplayObject. Объекты DisplayObject, размер которых больше этого, наверняка будут довольно глючными ... проблемы рендеринга по краям и интерактивные сбои вокруг часто встречаются в таких сценариях.

3

сообщение кажется очень информативным, но просто следите, если вы кешируете как растровое изображение (DisplayObject.cacheAsBitmap = true, применяяBitmapFilter также будет вызывать это), поскольку вы будете ограничены ограничением размера растрового изображения флэш-памяти.

6

Сам размер, кажется, также связан ... я нашел предел 0x6666660 ...

вот код:

package {
    import flash.display.*;
    public class Main extends Sprite {
        public function Main():void {   
            var size:Number = 1;

            var s:Shape = new Shape();
            s.graphics.beginFill(0xFF00FF);
            s.graphics.drawRect(0, 0, size, size);

            var old:Number = 0;
            while (s.width > old) {
                old = s.scaleX; 
                s.scaleX *= 1.1;
            }
            trace(s.width.toString(16));

            size = 1;
            s.scaleX = 1;
            while (true) {
                size *= 2;
                s.graphics.clear();
                s.graphics.drawRect(0, 0, size, size);
                if (s.width < 0) break;
            }
            var min:Number = size / 2;
            var max:Number = size;

            while (true) {
                size = (min + max) / 2;
                s.graphics.clear();
                s.graphics.drawRect(0, 0, size, size);
                if (s.width < 0) max = size;
                else 
                    if (max - min < 1) break;
                    else min = size;

            }
            trace(s.width.toString(16));
        }
    }   
}

не нашел никакой документации об этом ... так что вы даже можете получить другие результаты на вашем компьютере ...

Greetz

back2dos

3

maximum size for a bitmap image is 8,191 pixels in width or height, and the total number of pixels cannot exceed 16,777,215 pixels. (So, if a bitmap image is 8,191 pixels wide, it can only be 2,048 pixels high.) In Flash Player 9 and earlier, the limitation is is 2880 pixels in height and 2,880 pixels in width.

Взято изhttp://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObject.html

0

и это был предел 2880 x 2880 пикселей с растровыми изображениями.

При создании видеороликов не было проблем с шириной 50000 пикселей и масштабированием, например, 10х тоже не было проблемой.

Так что я думаю, что вы в безопасности с чем-то другим, кроме растровых изображений, что иногда является проблемой из-за ограничения размера файла.

Похожие вопросы