Регистрация: Jul 2007
Сообщений: 31
|
Про последовательность вывода, наверное...
Привет.
Столкнулся с такой проблемой:
Есть ролик, в котором есть готовые объекты на экране и есть слой в котором я аттачу битмап.
Проблема в том, что даже когда я выставляю 0 - вой стек, то аттаченое изображение все равно перекрывает все остальное...
а хотелось бы, чтобы оно было фоном для всего.
Вот код, на всякий случай.
Спасибо...
то, что на экране...
 Код:
bot2_1._rotation = Math.random()*100;
bot2_1._alpha = Math.random()*60 + 45;
bot2_1._x = Math.random()*640;
bot2_1._y = Math.random()*480;
bot2_1.grav = 0;
bot2_1.wander = 1;
bot2_1.maxSpeed = 16;
bot2_1.addRepelClip(bot1_1, 1, 40);
bot2_1.addRepelClip(bot1_2, 1, 40);
bot2_1.addRepelClip(bot1_3, 1, 40);
bot2_1.addRepelClip(bot1_4, 1, 40);
bot2_1.addRepelClip(bot2_2, 1, 40);
bot2_1.addRepelClip(bot2_3, 1, 40);
bot2_1.addRepelClip(bot2_4, 1, 40);
bot2_1.addRepelClip(bot2_5, 1, 40);
bot2_1.addRepelClip(bot3_1, 1, 40);
bot2_1.addRepelClip(bot3_2, 1, 40);
то,что аттачится...
 Код:
var damper = new flash.display.BitmapData(320, 240, false, 128);
var result = new flash.display.BitmapData(320, 240, false, 128);
var result2 = new flash.display.BitmapData(640, 480, false, 128);
var source = new flash.display.BitmapData(320, 240, false, 128);
var buffer = new flash.display.BitmapData(320, 240, false, 128);
var output = new flash.display.BitmapData(640, 480, true, 128);
var surface = flash.display.BitmapData.loadBitmap("surface");
var bounds = new flash.geom.Rectangle(0, 0, 320, 240);
var origin = new flash.geom.Point();
var matrix = new flash.geom.Matrix();
var matrix2 = new flash.geom.Matrix();
matrix2.a = matrix2.d = 2;
var wave = new flash.filters.ConvolutionFilter(3, 3, [1, 1, 1, 1, 1, 1, 1, 1, 1], 9, 0);
var damp = new flash.geom.ColorTransform(0, 0, 9.960937E-001, 1, 0, 0, 2, 0);
var water = new flash.filters.DisplacementMapFilter(result2, origin, 4, 4, 128, 128, "ignore");
attachBitmap(output, 0);
var ms = getTimer();
var frame = 0;
for (var i = 0; i < 145; i ++) {
source.setPixel (1+ random (320), 1 + random (240) , 16777215);
}
onEnterFrame = function ()
{
var _loc2 = obj1._x / 2; // obj 1
var _loc1 = obj1._y / 2;
//1
source.setPixel(_loc2 + 1, _loc1, 16777215);
source.setPixel(_loc2 - 1, _loc1, 16777215);
source.setPixel(_loc2, _loc1 + 1, 16777215);
source.setPixel(_loc2, _loc1 - 1, 16777215);
source.setPixel(_loc2 + 1, _loc1 -1, 16777215);
source.setPixel(_loc2 - 1, _loc1 + 1, 16777215);
source.setPixel(_loc2 - 1, _loc1 + 1, 16777215);
source.setPixel(_loc2 + 1, _loc1 - 1, 16777215);
source.setPixel(_loc2 + 2, _loc1, 16777215);
source.setPixel(_loc2 - 2, _loc1, 16777215);
source.setPixel(_loc2, _loc1 + 2, 16777215);
source.setPixel(_loc2, _loc1 - 2, 16777215);
result.applyFilter(source, bounds, origin, wave);
result.draw(result, matrix, null, "add");
result.draw(buffer, matrix, null, "difference");
result.draw(result, matrix, damp);
result2.draw(result, matrix2, null, null, null, true);
output.applyFilter(surface, new flash.geom.Rectangle(0, 0, 640, 480), origin, water);
if (getTimer() - 1000 > ms)
{
ms = getTimer();
fps = frame;
fpsDisplay.text = fps.toString();
frame = 0;
}
else
{
++frame;
} // end else if
buffer = source;
source = result.clone();
};
как то так...
Последний раз редактировалось Lobster2; 15.07.2007 в 20:19.
|