processingでketai Libraryをつかって、携帯の回転角度に合わせて背景画像の透明度を変化させるシステムを作っています。
回転角度ayの前後を比較して透明度を上げ下げしたいです。例:ay[2]-ay[1] > 0の時透明度が大きくなって、ay[2]-ay[1] < 0の時透明度が小さくなる
発生している問題・エラーメッセージ
FATAL EXCEPTION: Animation Thread Process: processing.test.accel_showimage03, PID: 25222 java.lang.ArrayIndexOutOfBoundsException: length=100; index=100 at processing.test.accel_showimage03.accel_showimage03.draw(accel_showimage03.java:46) at processing.core.PApplet.handleDraw(PApplet.java:1852) at processing.core.PSurfaceNone.callDraw(PSurfaceNone.java:476) at processing.core.PSurfaceNone$AnimationThread.run(PSurfaceNone.java:516)
該当のソースコード
import ketai.sensors.*; int num = 100; KetaiSensor sensor; float ax; float []ay = new float[num]; float az; PImage img; float alpScale; float alp = 0; void setup(){ size(720,1200); sensor = new KetaiSensor(this); sensor.start(); orientation(PORTRAIT); img = loadImage("bg03.png"); } void draw(){ background(0); for(int i = 0; i < num; i++){ alpScale = ay[i+1] - ay[i]; alp += alpScale*0.3; tint(255,255,255,alp); image(img,0,0); } } void onAccelerometerEvent(float x,float y,float z){ for(int i = 0; i < num; i++){ ax = x; ay[i] = y; az = z; redraw(); } }
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー