こんばんは!
突然、Processingでパックマンを作ってみたいと思ったので、今回だけでなくこれからも、備忘録として少しでも進捗があったら記事にしていこうと思います。
(第何回までいくかわかりませんが…)
パックマンとは
『パックマン』 (Pac-Man) は、ナムコ(後のバンダイナムコエンターテインメント)より1980年5月22日に発表されたアーケードゲーム、またはそのシリーズのタイトルで同社の看板タイトルである。
出典:Wikipedia
ゲームセンターに置かれているこういうやつです。
なんとかProcessingで作れるのではと思い、挑戦してみようと思いました。
今回のコード
今回のコードはこちらのサイトを参考にさせていただきました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | int radius = 40; float mouth = 0; float x = radius; float speed = 0.75; float openClose = 0.05; void setup() { size(1020,500); smooth(); ellipseMode(RADIUS); } void draw() { background(255); if (keyPressed==true) { if (key == CODED) { if (keyCode == RIGHT) { x+= speed; makePackman2(); } } if (key == CODED) { if (keyCode == LEFT) { x -= speed; makePackman(); } } } } void makePackman() { fill(255, 0, 0); mouth += openClose; if (mouth > PI/6 || mouth < 0) { openClose = openClose * -1; } arc(x, height/2, radius, radius, -5*(PI/6)-mouth, +mouth+PI*5/6); } void makePackman2() { fill(255, 0, 0); mouth += openClose; if (mouth > PI/6 || mouth < 0) { openClose = openClose * -1; } arc(x, height/2, radius, radius, mouth, TWO_PI - mouth); } |
これを実行してみます。
右(END)ボタンを押すと右に左(HOME)ボタンを押すと左に動くようになっています。
しかし、現時点で問題点として
・ボタンを押していない間は消えてしまう。
・画面外に出て行ってしまう。
などがあります。
これは次回以降修正していこうと思います。
今回はこれで終わります。
ではまた!