2016-02-04 2 views
1

Я смотрел на это и не нашел ничего, что могло бы помочь.Обработка, сохранение окна сверху/наложения

Я хочу сделать свой холст в обработке, чтобы оставаться поверх других окон, я разработал, как это сделать, но когда вы загружаете игру, игра скрывает холст за ней.

Я обнаружил, что следующий должен быть использован, но я не знаю, или в каком контексте по сравнению с обработкой:

DirectDraw или впрыснуть DLL и крючок DirectX

+0

Что именно вы имеете в виду, когда говорите «Я разработал, как это сделать» - что вы пробовали? Где находится ваш [MCVE] (http://stackoverflow.com/help/mcve)? –

+0

Я могу заставить его оставаться на вершине других Windows, таких как файловый обозреватель, но когда вы загружаете игру, она скрывается под ней. – moose

ответ

1

Если вы используете Обработку 3 (и вы должны быть), то вы больше не должны использовать frame с переменным другим ответом, кажется, не делать ничего в обработке 3.

Вместо этого используйте surface переменная:

void setup(){ 
    size(200, 200); 
    surface.setAlwaysOnTop(true); 
} 

void draw(){ 
    background(0); 
    ellipse(mouseX, mouseY, 10, 10); 
} 

Более подробную информацию об изменениях, сделанных в обработке 3 можно найти here и here.

+0

Я попробую это, но проблема в том, что я останусь над всеми окнами, если вы не загрузите игру, и это проблема, поскольку я хочу использовать ее для наложения игры – moose

+0

@moose На самом деле проблема заключается в том, что игра ** также ** указала, что ее окно всегда должно быть сверху. Если у вас есть два окна, которые всегда должны оставаться на вершине, то они являются одним и тем же «приоритетом», и они действуют как обычные окна друг к другу. Вы можете * попробовать * добавить слушателя фокуса к вашему окну (google - ваш друг), но, возможно, вы не сможете делать то, что вы просите. –

0

Нет необходимости подключать DirectX самостоятельно, просто вставить эту строку в setup функции:

frame.setAlwaysOnTop(true); 

(как в стороне, this thread на процессинговый форуме был первым результатом, когда прибегая к помощи «обработка окна пребывания на вершине»).

+0

Начиная с обработки 3, вы больше не должны использовать переменную фрейма. Код, который вы опубликовали, похоже, не имеет никакого эффекта. Ознакомьтесь с моим ответом для получения дополнительной информации. –

+1

@KevinWorkman Упс, не понял этого! – MTCoster

+0

Не беспокойтесь. Обработка 3 включала кучу изменений. Я все еще работаю над ними сам. Однако TweakMode является опрятным. : p –

Смежные вопросы