はじめに
Processing.orgが新しくなっていた。
以前はProcessing3を利用していたが、android11 実機デバッグの動作検証する。
結論
環境
Windows 10
processing4.0b8
Xperia 10 III(android 11)
手順
(1)processing4の導入
https://processing.org/downloadから「Windows〔Intel 64-bit〕」を選択。
processing-4.0b8-windows-x64.zipがダウンロードされるので解凍する。
解凍後のprocessing-4.0b8-windows-x64/processing.exeを開く。
(2)プログラム実行
サンプルを実行することができた。
日本語は文字化けするので、「ファイル>設定>エディタとコンソールのフォント>MSゴシック」に設定した。
プログラム
Processing
/*================================*
*システム:パンプキンをスケッチ
*ファイル:SampleProgram.pde
*
*-------------------------------
*〔変更履歴〕
*2022/05/04 Usatodo 新規作成
*================================*/
size(640, 480);
background(255);//背景を白
//====================
//パンプキンをスケッチ
//====================
//====体パーツ====
noStroke();//輪郭線を無効に
fill(205,102,0);//ダークオレンジ3色に塗り潰す
ellipse(270,240,180,200);//円の作成
ellipse(370,240,180,200);//円の作成
fill(255,165,0);//オレンジ色に塗り潰す
ellipse(290,240,140,200);//円の作成
ellipse(350,240,140,200);//円の作成
fill(0,255,0);//緑に塗りつぶす
triangle(320,160,320+12,115,320-12,115);
fill(255,127,0);//ダークオレンジ1色に塗り潰す
ellipse(320,240,80,200);//円の作成
//====顔パーツ====
fill(0);//黒に塗りつぶす
//鼻
triangle(320,230,320+15,260,320-15,260);
//左目
triangle(260,205,260+22,260-15,260-22,260-15);
//右目
triangle(380,205,380+22,260-15,380-22,260-15);
//口
arc(320,280,160,80,0,radians(180));
//前歯
fill(255,127,0);//ダークオレンジ1色に塗り潰す
stroke(255,127,0);//線をダークオレンジ色
strokeWeight(8);//線の太さを変更
strokeJoin(ROUND);//丸い角
rect(320+12,280,10,10);
rect(320-22,280,10,10);
//奥歯
fill(255,165,0);//オレンジ色に塗り潰す
stroke(255,165,0);//線をオレンジ色
strokeWeight(8);//線の太さを変更
strokeJoin(BEVEL);//斜めの角
rect(320+50,280-5,10,10);
rect(320+30,280+30,10,10);
rect(320-60,280-5,10,10);
rect(320-40,280+30,10,10);
(3)Androidモードを追加
「Java▼」を押すと、「Manage Modes..」があるので選択する。
選択後、「Contribution Manager」が開く。
検索欄に「android」を入力し、「Android Mode for Processing 4 | This mode lets you us...」
を選択し、「↓Install」を押す。インストール完了すると、「Android」が追加される。
(4)Android側の準備
「設定>デバイス情報>ビルド番号」を何度もタップし、開発向けオプションを有効にする。
「設定>システム>開発向けオプション>デバッグ>USBデバッグ」をONにする。
AndroidをPCに接続する。「USBデバッグを許可しますか?」と出るので、
「□このパソコンからのUSBデバッグを常に許可する」にチェックを入れ、「OK」を選択する。
Processingを開いて画面上部の「Android>Devices>docomo SO-52B...」にチェックが入っていることを確認する。
(5)Androidの実機デバッグ
スケッチを書き、デバックを実行する。
「BUILD SUCCESSFUL」とでれば成功。
Android側の画面にプログラムが実行していることが分かる。
プログラム
Processing
/*================================*
*システム:シンプルタイマーforAndroid
*ファイル:SimpleTimerForAndroid.pde
*
*-------------------------------
*〔変更履歴〕
*2022/05/03 usatodo 新規作成
*2022/05/04 usatodo 縦横比保持追加
*================================*/
//Androidで画面をONにする
import android.os.PowerManager;
import android.os.PowerManager.WakeLock;
import android.content.Context;
int screenState = 2;//画面の遷移状態【0:Start 1:Title 2:Main 3:Config 4:Demo】
WakeLock lock;
Context context ;
@Override
public void onResume(){
super.onResume();
PowerManager pm = (PowerManager) getActivity().getSystemService(Context.POWER_SERVICE);
lock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,"My tag");
lock.acquire();
}
@Override
public void onPause(){
super.onPause();
lock.release();
}
void setup() {
setupMedia();//BGMや画像の読込み処理
}
void draw() {
background(0,100,100);//背景を水色に塗る
switch(screenState){
case 0: startActivity(); break;
case 1: titleActivity(); break;
case 2: mainActivity(); break;
case 3: configActivity(); break;
case 4: demoActivity(); break;
default : ;/*エラー処理を記述*/break;
}
}
//スタート画面の処理
void startActivity(){
background(0,100,100);//背景を水色に塗る
}
//タイトル画面の処理
void titleActivity(){
}
//デモ画面の処理
void demoActivity(){
}
ちなみに、今回のプログラムでは、「VIBRATE」と「WAKE_LOCK」のPermissionsにチェックを入れた。
今回チェックを入れる理由は2つある。
・「VIBRATE」は設定時刻になると振動する際に必要。
・「WAKE_LOCK」は、端末がスリープしても動き続けるバックグラウンド処理に必要。
なので、特に使用する理由がなければ、チェックを入れなくても問題ないと思う。
おわりに
Processingは導入コストが低く、アイデアを素早く形にできるのでとても使いやすいです。
今回、Android実機デバッグが、スムーズに実行できたので驚きました。
本記事について、最後まで読んでいただきましてありがとうございます。