У меня есть класс кнопки, созданный из метода onSurfaceCreated в моем glSurfaceView; Он берет gl как один из его параметров, чтобы он мог правильно рисовать. У меня возникла проблема, связанная с классом overlay, которая выглядит как булавка в приложении Google Maps. Если я назову makeOverlay() в конструкторе моей кнопки, он отлично рисует, если я назову его где-нибудь еще, я получаю белый квадрат. Все они находятся на одной и той же линии рисования. Кто-нибудь знает, что им не хватает? Благодарю.проблем, связанных с Android
0
A
ответ
0
Вероятно, контекст GL не является действующим вне этих методов.
Вы можете просто сделать абстрактное представление своего объекта и нарисовать его в методе onDrawFrame. Это то, что вы должны делать в любом случае.
0
Вы можете сохранить GL-контекст внутри статической переменной, чтобы иметь возможность доступа к нему из любого места вашего кода.
+1
Если вы вызываете его из нити gl, он, вероятно, не будет работать так, как предполагалось. – HaMMeReD
Я узнал, что вы можете передать только gl из 3 методов переопределения, onSurfaceCreated, onSurfaceChanged и onDrawFrame; кроме того, что он больше не будет работать. Перефразируя мой вопрос, как я могу запустить новый объект, который будет выполнен правильно? – jfisk