processing

processing のキャンバス上に swing コンポネーションを配置してみた

今まで知らなかったんですが、mac で java.awt._ を使用した入力フォームだと日本語入力が出来ないようです(IMEが日本語に切り替えれない) これゲームのチャット機能とか考えると致命的な致命傷だったんで、Swing の入力フォームを使うようにしてみました…

processing で scala の並列コレクションを試そうと思ったらヌルポだったでござるの巻

はい。そういうことです。 このスレは早くも終了ですね。 https://gist.github.com/1366985 の Par.scala の 183 行目の balls foreach を balls.par foreach にしてみると [error] (Animation Thread) java.lang.NullPointerException java.lang.NullPointe…

github に processing の maven リポジトリを作ってみた

http://d.hatena.ne.jp/alpha_neet/20111103/1320312236 の続きです。 公式で processing の mavenリポジトリが用意されるまで適当に野良置いておくと便利かなーと思ったので作ってみました。 どうも scala のバージョン × processing のバージョン分のリポ…

sbt+processingを試してみた

http://d.hatena.ne.jp/alpha_neet/20111012/1318437291 の続き。 環境 scala 2.9.1.final sbt 0.11 processing 1.5.1 導入 sbtは(おそらく)mavenのパッケージ管理機能を使っていて、groupID と artifactID を持っているライブラリだと自動的にダウンロー…

scala + processing でアプレット作成

アプレットとしてもアプリケーション(jarをダブルクリックしたら起動する)としても使用できるようにする。 環境 MacOS 10.6 java 1.6.0_24 scala 2.8.1 processing 1.5.1 ProGuard 4.6 コンパイル test.scala import processing.core._ import processing.co…

scalaとprocessingを使った倉庫番を作ったお

https://github.com/alphaneet/game-souko-scala コンパイルやゲームの説明などはgithubのほうのREADMEを参考にしてくだしあ。 ここでは内部について簡単に書いていきたい思います。 もっとこうしたらいいという意見があればぜひお願いします>_< コンポネ…

コンストラクタのオーバーロード

class Size { int w, h; Size(int size) { this(size,size); } Size(int _w, int _h) { w = _w; h = _h; } String toString() { return "w = "+w+"h = "+h; } } void setup() { Size s1 = new Size(10); Size s2 = new Size(10, 20); println("s1: " + s1 + …

画像の左右反転処理

http://processing.org/learning/libraries/mirror.html↑のサンプルはWebカメラで画像を読み取ってちょっと加工して左右反転する処理なんだけど、 これを見る限りだと左右反転の処理を一発呼び出しでできる関数はないっぽい。なぜかない。 公式のサンプルはW…

アスキーアートを表示

String aa = " ,. -一……ー- 、 \n /::::{:/::::‐-:、:::丶:\ \n /:::::/´ ̄ ̄__\、::::l,. -―、 \n /::::// /:: ̄、:\::::ヽヽ≦、ス=、、 \n /::::/::|,.イ:l::丶::::::::\:X:::',:::ヽ、 ヽハ ',ヽ \n f´ ̄!:::::l:_|_|\::\--/,r=ミ|::::::lヾく:l::', | | …

参照の比較演算

aとbは別のインスタンス(メモリ空間)を持っているので、イコールじゃfalseになるからString.equals()を使おうという話。 まぁ有名な話ですよね。 String a = new String("hoge"); String b = new String("hoge"); println("aとbは" + (a==b)); // false St…

テキスト周りのまとめ

size(400, 300); background(255); fill(0); textFont(createFont("FixedSys", 32)); int halfW = width>>1, halfH = height>>1; int top = (int)textAscent(); int bottom = (int)textDescent(); String str = "へろーわーるど"+str(top+bottom); int x = h…

コンストラクタからならfinalは変更可能

class hoge { final int x, y; void print() { println(x + " " + y); } hoge(int _x, int _y) { x = _x; y = _y; } } hoge h = new hoge(10, 20); h.print(); // エラー //h.x = 200; h.y = 300; これでpublic getterでprivate setterと大体同じになる!定…

MVCでobserver

ちょっと長いけど、中途半端なサンプルだと一体何のために使うのか分かりづらいので、 最低限どういうときに使えばいいのか分かる程度のサンプルにしてみた。 一応これでもがんばって削りました。 Controller controller; void mousePressed() { controller.…

参照について確認

タグをつけるときにprocessingかJavaにするか悩む。 ほとんど文法的にはJavaなんだけどprocessingはいろいろ省略ができるから javaのほうではコンパイルエラーがでそうなんでprocessingタグになった というか素のjavaはたぶん勉強目的(サンプルソースやライ…

画像データのコピー

ものすごいCPU負荷かかってるなーと思ったらレンダラーをデフォルトのJAVA2Dにしてるせいらしい。 解像度を800*600以上にしただけでCPU負荷が100%状態。 OPENGL使うと凄い軽いんだけど全部描画コードをOPENGLに書きかえないといけないのが…

ハッシュを適当に自作

processingというよりjavaのハッシュがゴミすぎる気がする。 http://processing.org/reference/HashMap.html これprocessingの公式のHashMapのリファレンスなんだけど、やばすぎるでしょこれは。syレになってない。 もうこことか暗黒微笑しかでないんです…

関数ポインタ的なことをやってみる

Javaで関数ポインタっぽいことをするには getMethod() と invoke() を使うっぽいんだけど、Processingだと多分だけど使えないっぽい。 さらにこいつは恐ろしいことに enum や static すら使えないのでまぁ仕方ないかなという感じ。 class function { void $v…

無名クラスでクロージャ風味

そもそもrubyやJavaScrpit的な言語をあまり使ったことないのでクロージャについて誤解してるような気もするけどとりあえず書いてみた。 ProcessingのコードだけどシンタックスはJavaにしてる。 abstract class func { abstract void run(Object arg); } clas…