Groovy 및 Processing 화면의 상태 전환
11287 단어 processingGroovy
이스케이프 키를 누르면 모든 상태에서 응용 프로그램이 종료되기 때문에 작은 작업이 필요합니다.
동영상 목록 : LWJGL 튜토리얼
동영상은 코코
DisplayTest.groovy
package episode006
import groovy.swing.SwingBuilder
import processing.core.PApplet
import javax.swing.*
class DisplayTest extends PApplet {
static enum State {
INTRO, MAIN_MENU, GAME
}
def state = State.INTRO
def void setup() {
frameRate(60)
}
def void draw() {
background(0, 0, 0)
switch(state) {
case State.INTRO:
noStroke()
fill(255, 0, 0) // 赤
rect(0, 0, 640, 480)
break
case State.GAME:
noStroke()
fill(0, 255, 0) // 緑
rect(0, 0, 640, 480)
break
case State.MAIN_MENU:
noStroke()
fill(0, 0, 255) // 青
rect(0, 0, 640, 480)
break
}
}
def void keyPressed() {
def isEscapeKeyPressed = false
if (keyCode == ESC || key == ESC) {
isEscapeKeyPressed = true
key = 0
keyCode = 0
}
switch(state) {
case State.INTRO:
if (key == 's') {
state = State.MAIN_MENU
}
if (isEscapeKeyPressed) { // エスケープ
System.exit(0)
}
break
case State.GAME:
if (keyCode == BACKSPACE) { // バックスペース
state = State.MAIN_MENU
}
break
case State.MAIN_MENU:
if (keyCode == ENTER) { // エンター
state = State.GAME
}
if (key == ' ') { // スペース
state = State.INTRO
}
break
}
}
def void keyReleased() {
if (keyCode == ESC || key == ESC) {
key = 0
keyCode = 0
}
}
def void keyTyped() {
if (keyCode == ESC || key == ESC) {
key = 0
keyCode = 0
}
}
def static void main(args) {
def display = new DisplayTest()
new SwingBuilder().frame(
title: 'Episode 6',
defaultCloseOperation: JFrame.EXIT_ON_CLOSE,
size: [640, 480], show: true) {
widget(display)
}
display.init()
}
}
Reference
이 문제에 관하여(Groovy 및 Processing 화면의 상태 전환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hina0118/items/6e28c83e115dc46c63cc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)