前提・実現したいこと
Processingで作成したプログラムに背景を付けたいです。
背景用のプログラムは(背景は画像読み込み、雪を降らせている)完成しているのですが、どうやってくっつけたらいいかわかりません。
背景のプログラミング
PImage haikei; class Snowflake { //Snowflake Class float x; //x axis float y; //y axis float s; //size color c; //color float dy; //speed Snowflake() { //Function to create snowflakes x = random(width); //initial x point is random y = random(height); dy = random(0, 3); // Falling speed is random between 3 and 10 s = 5 * dy / 4.0; //Size is small if initial speed is slow c = #ffffff; //white snow } void drop() { //create snow and move y += dy; if (y > height) y = 0; //if snow gets the bottom of the screen, return to top noStroke(); //no outline fill(c); ellipse(x, y, s, s); } } Snowflake[] sf = new Snowflake[5000]; //prepare the area for 1000 snow object void setup(){ size (1025,555); noCursor(); for (int i = 0; i < 2000; i++) { //雪⽚オブジェクトを1000 個作る sf[i] = new Snowflake(); } haikei = loadImage("haikei2.png"); } void draw() { background(0); image(haikei,0,0); for(int i = 0; i < 2000; i++) { sf[i].drop(); } }
該当のソースコード
processing
1import org.gamecontrolplus.*; 2 3ControlIO control; 4ControlDevice device; 5ControlButton button4, button5, button6; 6ControlSlider[] sliders = new ControlSlider[2]; 7ControlHat hat; 8 9int angle = 30; // 座標の回転角度 10int margin = 40; // 座標の移動量 11int direction = 0; // 向き 12int imgX = 0; 13int imgY = 0; 14int size = 300; // 大きさ 15PImage comocomo; 16PImage haikei; 17 18void setup() { 19 control = ControlIO.getInstance(this); 20 21 // 名前を指定してデバイスを取得 22 device = control.getDevice("PC Game Controller "); 23 24 button4 = device.getButton(4); 25 //button4.plug(this, "pressButton4", ControlIO.ON_PRESS); // ボタン4を押すとpressButton4()関数を呼ぶ 26 button5 = device.getButton(5); 27 button5.plug(this, "pressButton5", ControlIO.ON_PRESS); // ボタン5を押すとpressButton5()関数を呼ぶ 28 button6 = device.getButton(6); 29 button6.plug(this, "pressButton6", ControlIO.ON_PRESS); // ボタン6を押すとpressButton6()関数を呼ぶ 30 hat = device.getHat(0); 31// hat.plug(this, "pressHat0", ControlIO.ON_PRESS); // 十字キーを押すとpressHat0()関数を呼ぶ 32 33 34 // 左アナログスティックのXY軸を取得 (現状はX軸のみ使用) 35 sliders[0] = device.getSlider(3); 36 sliders[1] = device.getSlider(4); 37 38 39 40 size(1025, 555); 41 colorMode(HSB, 100); 42 background(99); 43 frameRate(20); 44 45 comocomo = loadImage("hituji.png"); 46 imageMode(CENTER); 47 48 haikei = loadImage("haikei2.png"); 49} 50 51void draw() { 52 background(0); 53 image(haikei, 0, 0); 54 translate(width / 2, height / 2); 55 rotate(radians(angle * direction)); 56 image(comocomo, imgX, imgY, size, size); 57 comocomo.resize( 300, 300); 58 59 direction += (int)sliders[1].getValue(); // 左 = -1, 右 = 1, 入力無し = 0 60 if (direction < 0) direction = 11; 61 if (direction > 11) direction = 0; 62 println(direction); 63 64 if (hat.up()) imgY -= margin; 65 if (hat.down()) imgY += margin; 66 if (hat.left()) imgX -= margin; 67 if (hat.right()) imgX += margin; 68} 69 70 71void pressButton5() { 72 if (size > 20) size -= 5; 73} 74 75void pressButton6() { 76 if (size < 400) size += 5; 77}
試したこと
背景の方をvoid setup()とvoid draw()に分けて該当のソースコードにいれてみたのですが、エラーになってしまい…。
どのようにいれたらよいでしょうか?
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。