2012-02-17 2 views
1

Я и мои друзья работают над игровым проектом, и мы, кажется, ударились о стену. У нас есть система, которая берет поверхность SDL RGB из пространства имен в другом файле заголовка. Мы blit это на экране, (SDL_SetVideoMode), затем мы blit еще один из другого файла заголовка пространства имен, и мы blit второй на том же экране. Он перезаписывает экран, и мы не видим первую поверхность.SDL blitting surface at surface

Любые идеи о том, как развести две поверхности для экранирования друг друга?

+1

Я не совсем понимаю. Ваша вторая поверхность меньше или прозрачна или что-то еще? Вы хотите, чтобы первый из них показывался снизу? Можем ли мы увидеть код? – BoBTFish

+0

Ну, у меня есть одна большая поверхность и меньше, и я хочу показать, что меньшая поверхность на более крупном. – Rokas

ответ

1

Похоже, что ваш порядок розыгрыша испорчен.

Помните, что SDL не имеет Z-порядка, поэтому для достижения иллюзии одного объекта на другом вы должны нарисовать тот, который должен быть ниже первого. Точно так же, как если бы вы рисовали картину в реальной жизни.

0

Похоже, что ваша поверхность теряет прозрачность, когда она смещается на другую поверхность. Пикселы в srcrect теряют прозрачность, и поэтому вы не можете видеть за поверхностью. К сожалению, я не могу понять, почему это происходит. Удачи вам в этом.