Grocessingでフルスクリーン
このまえ「p5そのままで書いてなくて,フルスクリーンとかで出すときってどーしてるんですか?」と奇特なかたから質問をいただきましたので,実際にどーやってフルスクリーンで表示させるのかを書きたいとおもいます.
ただ今はこうやってるってだけで,ホントはもっといい方法があるかもしれません.おそらくGroovy詳しいかたならもっといい方法がおもいつくのではとおもうのですが…
まずこんなん準備しておきます.
Fullscreen.groovy
import java.awt.Toolkit import java.awt.GraphicsDevice import java.awt.GraphicsEnvironment import processing.core.* import javax.swing.JFrame def static view(PApplet app){ def frame = new JFrame() def tk = Toolkit.getDefaultToolkit() def ge = GraphicsEnvironment.getLocalGraphicsEnvironment() def gd = ge.getDefaultScreenDevice() def ss = tk.getScreenSize() def(w,h) = [ss.width, ss.height] frame.with{ app.size(w as int,h as int) setUndecorated(true) add(app) pack() defaultCloseOperation = JFrame.EXIT_ON_CLOSE setResizable(false) setLocation(0,0) setSize(w as int, h as int) } gd.setFullScreenWindow(frame) frame.setVisible(true) frame.createBufferStrategy(2) }
でもってgroovycにてコンパイルしてから,こんなかんじでつかいます.
import processing.core.* import static Fullscreen.* class Myapp extends PApplet{ //ごにょごにょごにょ } app = new Myapp() app.init() Fullscreen.view(app)
とどのつまりはフルスクリーン表示向けのクロージャをstaticにimportするわけです.Groovy1.6あたりからでしたっけ? この機能って.
なのでそれまではフルスクリーンでの表示はガチでコードを書いてて,「フルスクリーンで表示させるとこ分離したい」とおもってたわけで.