forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Заливка экрана (http://forum.boolean.name/showthread.php?t=14571)

kizup 11.04.2011 17:41

Заливка экрана
 
Тут столкнулся с такой бедой..хочется залить прозрачным цветом, допустим в игре пауза, в центре менюшка, а остальное - сама игра, только залитая прозрачным прямоугольником, типа как в опере.... Кто нибудь пытался такое чудо сделать? Если да, то подскажите как)) Буду очень благодарен..

YellowAfterlife 11.04.2011 17:57

Ответ: Заливка экрана
 
Вложений: 1
Исходный код (что в библиотеке):
Код:

public class Lib_alphabox
{
public static void fillrecta(int x, int y, int w, int h, int c)
{
        if (w < 0) { x += w; w = -w; }
        if (h < 0) { y += h; h = -h; }
        int _[] = new int[w * h];
        for (int i = 0; i < _.length; i++) _[i] = c;
        M.G.drawRGB(_, 0, w, x, y, w, h, true);
}
}


Настоящий исходный код (что я писал):
Код:

lib_alphabox
{
proc fillrecta(int x, int y, int w, int h, int c)
{
        if (w < 0) { x += w; w = -w; }
        if (h < 0) { y += h; h = -h; }
        int _[] = new int[w * h];
        for (int i = 0; i < _.length; i++) _[i] = c;
        MPScreen.drawRGB(_, 0, w, x, y, w, h, true);
}
}


Состоит из одной процедуры,
DrawRectA(X, Y, Width, Height, Color: Integer)
Color указывать как 32-битное число, к примеру $80000000 для полу-прозрачного черного цвета.
Скомпилированная библиотека во вложении.

kizup 12.04.2011 12:15

Ответ: Заливка экрана
 
Никаких изменений, кстати, ошибся ты немного
Цитата:

Состоит из одной процедуры,
DrawRectA(X, Y, Width, Height, Color: Integer)
Процедура FillRectA(X, Y, Width, Height, Color: Integer)
Пишу FillRectA(0,0,200,300,$80000000) - эффекта ноль,
Пишу FillRectA(0,0,200,300,80000000) - эффекта тоже ноль,
Пишу FillRectA(0,0,200,300,1157627648) - опять же никакого эффекта.(
Что я не так делаю? Напиши пример пожалуйста

Trazzy 12.04.2011 13:48

Ответ: Заливка экрана
 
Вложений: 1
Переделал либу - все работает!. (см.аттач, пример внутри)

YellowAfterlife 13.04.2011 01:22

Ответ: Заливка экрана
 
Вложений: 2
Оригинал либы работает - тестировалось в MP3.3Beta.

Пример проэкта - не до конца адекватная демонстрация с движущимися по синусоиде грушами и белыми (полупрозрачными!) полосами проходящими сверху них.
Дополнительно, эффект "следа" достигается зарисовкой фона (в начале кадра) полупрозрачным а не сплошным цветом.

Проэкт и скриншот (в этом же вся суть, правда?) во вложении.

kizup 13.04.2011 10:54

Ответ: Заливка экрана
 
Цитата:

Вообще ничего не понимаю:dontknow: у меня не заливает прозрачным цветом, даже ваши проекты не робят...
Прошу прощения, всё работает, просто надо было смотреть в другом эмуле)) Ещё раз извиняюсь))


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot