Есть ли верхняя граница размера спрайта в as3 / flash 10?
Я знаю, что bitmapData имеет ограничения ...
Есть ли верхняя граница размера спрайта в as3 / flash 10?
Я знаю, что bitmapData имеет ограничения ...
кажется, что xScale и yScale не могут превышать 0x8000 ...
сам размер тоже кажется ограниченным ... я нашел предел 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));
}
}
}
не нашел никакой документации по этому поводу ... так что вы можете даже получить другие результаты на своей машине ...
привет
back2dos
В AIR 1.5 и Flash Player 10 максимальный размер растрового изображения составляет 8 191 пиксель по ширине или высоте, а общее количество пикселей не может превышать 16 777 215 пикселей. (Так, если растровое изображение имеет ширину 8 191 пиксель, оно может быть не более 2048 пикселей.) В Flash Player 9 и более ранних версиях ограничение составляет 2880 пикселей в высоту и 2880 пикселей в ширину.
Взято с http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObject.html
Сообщение Back2dos кажется очень информативным, но будьте осторожны, если вы кешируете как растровое изображение (DisplayObject.cacheAsBitmap = true
, применение BitmapFilter
также вызовет это), так как тогда вы будете ограничены лимитом размера растрового изображения flash.
У меня есть некоторый опыт работы с Flash 6, и это был предел 2880 x 2880 пикселей с растровыми изображениями.
При создании видеоклипов не было проблем с шириной 50000 пикселей и масштабированием, например. 10x тоже не было проблемой.
Так что, я думаю, вы можете быть в безопасности со всем, кроме растровых изображений, что иногда немного неудобно из-за ограничения размера файла.
На самом деле есть несколько ограничений, которые я бы посоветовал вам не превышать. Я не уверен на 100%, но в моих тестах вы не можете использовать BitmapData.draw () для любого объекта DisplayObject, превышающего 4079 пикселей по ширине и 4082 пикселей по высоте (на самом деле вы можете, но они не будут отображаться за этими пределами). Однако вы можете нарисовать BitmapDatas большего размера.
Я также обнаружил, что эти значения кажутся «безопасными» границами для ограничивающей рамки любого DisplayObject. DisplayObject больше, чем это, определенно будет довольно глючным ... проблемы рендеринга по краям и интерактивные сбои повсюду очень распространены в таких сценариях.