|
int k;
int dx, dy;
float distance;
BFont Mytext;
BImage b;
BImage c;
void setup(){
size(300,300);
background(255,255,255);
Mytext = loadFont("Arial.vlw");
//スムースな線を引くことができる
//smooth();
b = loadImage("b.jpg");
c = loadImage("c.jpg");
}
//キーボード定義に従い下記の動作を実行する
void loop(){
//マウスの移動した距離を求める
dx = mouseX - pmouseX;
dy = mouseY - pmouseY;
distance = sqrt(dx*dx +dy*dy);
//マウスが押されているとき
if(mousePressed == true){
//キーボード1を押すとmouseの軌跡に線が描かれる
if(k == 1){
line(pmouseX, pmouseY, mouseX, mouseY);
}
//キーボード1を押すとmouseの軌跡に□が描かれる
if(k == 2){
//distance 距離が多い(スピ2ードが早い)程大きな□を描く
stroke(255,0,0);
rect(mouseX,mouseY,distance,distance);
}
//キキーボード1を押すとmouseの軌跡に○が描かれる
if(k==3){
stroke(255,0,0);
ellipse(mouseX,mouseY,distance,20);
}
//消しゴム
if(k==4){
//背景と同じ色にする
fill(255,255,255);
noStroke();
ellipse(mouseX,mouseY,20,20);
}
//フォント
if(k==5){
fill(0,0,0);
textFont(Mytext, 40);
text("I am", mouseX, mouseY-10);
image(b, mouseX, mouseY);
}
//応用
if(k == 6){
//5 は透明度
stroke(distance,distance,distance,35);
for(int i = 0; i< width; i+=5){
line(mouseX,mouseY,i,height);
}
}
if(k==7){
fill(0,0,0);
textFont(Mytext, 30);
text("Hello", mouseX, mouseY-10);
image(c, mouseX, mouseY);
}
}
}
//キーボード入力を定義
void keyPressed(){
//キーボード-が押されると 「key」 でキーボード定義変数(決まり物)
if(key == '-'){
background(255,255,255);
}
//キーボード1が押されると
if(key == '1'){
k = 1;
}
//キーボード2が押されると
if(key == '2'){
k = 2;
}
//キーボード3が押されると
if(key == '3'){
k = 3;
}
if(key == '4'){
k = 4;
}
if(key == '5'){
k = 5;
}
if(key == '6'){
k = 6;
}
if(key == '7'){
k = 7;
}
//tifファイルに保存できる名前も別に保存してくれる
if(key == 's'){
saveFrame();
}
}
|