Processing Programlama – Etkileşimler

Processing Programlama - Etkileşimler

Processing’de bir kereye mahsus ve sadece program başladığında tek bir kere çalışacak olan fonksiyonlar setup fonksiyonu içine yazılır. Program içerisinde draw fonksiyonu içerisine hareket edecek veya bir başka deyişle her bir çizim içerisinde değişebilecek girdiler verilir. Draw fonksiyonu varsayılan saniyede kare sayısı 60’tır. frameRate fonksiyonu ile bu değer değiştirilebilir.

Processing Programlama - Etkileşimler
voidsetup(){
size(500,500);
}
voiddraw(){  

}

mouseX ve mouseY processing’de önceden tanımlı değişkenlerdir. Bu değişkenler ile mouse imlecinin anlık konumu elde edilebilir. Çizdirilen dairenin x ve y koordinatlarını gösteren değişkenlerine bu değişkenleri yerleştirilerek çizilen şeklin mouse imlecini takip etmesi sağlanabilir.

Processing Programlama - Etkileşimler

void setup() {
  size(250,250);
}
void draw() {
  background(0);
  stroke(255);
  fill(128);
  ellipse(mouseX, mouseY, 100, 100);
}


Background fonksiyonunun draw yerine setup fonksiyonunda tanımlanması ile background sadece bir kere ayarlanacağı için bundan sonra çizilen tip yuvarlaklar arkaplanın üzerinde kalacak ve arkaplan yenilenmeyecektir.

Processing Programlama - Etkileşimler

void setup() {
  size(250,250);
 background(0);
}
void draw() {
stroke(255);
  fill(128);
  ellipse(mouseX, mouseY, 100, 100);
}

pmouseX ve pmouseY fare’nin ufak bir aralık ile bir önceki frame’de aldığı değeri almaktadır.
//mouse hızlı hareket ettirilince çizgi //oluşmaktadır.

Processing Programlama - Etkileşimler

void setup() {
  size(200, 200);
  strokeWeight(8);
}
void draw() {
  background(204);
  line(mouseXmouseYpmouseXpmouseY);
}



Processing Programlama - Etkileşimler
void setup() {
  size(100, 100);
}
void draw() {
  if (mouseButton == LEFT) {
    fill(0); // Black
  } else if (mouseButton == RIGHT) {
    fill(255); // White
  } else {
    fill(126); // Gray
  }
  rect(25, 25, 50, 50);
}




Belli bir tuşun basılıp basılmadığı kontrolü yapılmak isteniyorsa if içerisinde iki kontrol birden yapılabilir.

Processing Programlama - Etkileşimler
void setup() {
  size(100, 100);
  strokeWeight(4);
}
void draw() {
  background(204);
  if ((keyPressed == true) && (key == ‘A’)) {
    line(50, 25, 50, 75);
  } else {
    ellipse(50, 50, 50, 50);
  }  }
Karakterler ASCII karşılığına göre işlem gördükleri için küçük ve büyük harfler farklı değer almaktadır. Yapılan işlemde büyük/küçük harf duyarlı olmadan kontrol yapılmak isteniyor ise if içerisinde veya ile hem küçük hem büyük harf üzerinde kontrol yapılmalıdır.

if ((keyPressed == true) && ((key == ‘a’) || (key == ‘A’)))

Mouse olaylarına bağlı olarak 4 adet hazır fonksiyon bulunmaktadır.

mousePressed()
Mouse tuşu basıldığında bu bloğun içindeki kod bir kez çalışır.
mouseReleased()
Mouse tuşu bırakıldığında bu bloğun içindeki kod bir kez çalışır.
mouseMoved()
Mouse hareket ettiğinde bu bloğun içindeki kod bir kez çalışır.
mouseDragged()
Mouse tuşuna basılıp hareket ettirildiğinde bu bloğun içindeki 
kod bir kez çalışır.

Klavye olaylarına bağlı olarak 2 adet hazır fonksiyon bulunmaktadır.

keyPressed()
Bir klavye tuşuna basıldığında bu bloğun içindeki kod bir kez çalışır.
keyReleased()
Bir klavye tuşu bırakıldığında bu bloğun içindeki kod bir kez çalışır.

Mouse imleci ile ilgili iki adet hazır fonksiyon bulunmaktadır. nocursor() fonksiyonu processing’in çıktı ekranında mouse imlecinin görünmesi isteniyor ise, cursor() fonksiyonu ise ekranda mouse imlecinin görünmesi için kullanılır.

Mouse imleci ile ilgili iki adet hazır fonksiyon bulunmaktadır. nocursor() fonksiyonu processing’in ıktı ekranında mouse imlecinin görünmesi isteniyor ise, cursor() fonksiyonu ise ekranda mouse imlecinin görünmesi için kullanılır.

void setup() {
  size(100, 100);
  noCursor();
}
void draw() {
  background(204);
  if (mousePressed == true) {
    cursor();
  }
}

Share

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir