Scratch
Nedir?
Scratch, ABD’de
bulunan MIT’nin geliştirdiği,
8-16 yaş arası çocukların kullanımına göre tasarlanmış oldukça basit bir arayüze sahip
programlama ortamıdır.
Geleneksel
programlama dillerinin aksine kullanıcı, istediği fonksiyonları fare ile
tıklayıp sürükleyerek animasyonlar, oyunlar, ve hikayeler yaratabilirsiniz.
Scratch, renkli bir arayüze sahiptir.
Programlama
dillerinin aksine, hazır fonksiyonlar kategorilere ayrılarak kolay bir biçimde
kullanıma sunulmuştur.
Scratch Ekranını Tanıyalım
1. Dil ayarla: Bu
ikonu kullanarak kullandığımız blok dilini değiştirebilir farklı dillerde
kullanabiliriz.
2.
Kopyasını Çıkar: Var
olan karakterimizi çoğaltabiliriz.
3.
Sil: İstediğimiz
bir karakteri silebiliriz.
4.
Büyüt: Bu
simgeyi seçerek karakterimizin üzerine tıkladığımızda karakterimizi istediğimiz
kadar büyültebiliriz.
5.
Ufalt: Bu
simgeyi seçerek karakterimizin üzerine tıkladığımızda karakterimizi istediğimiz
kadar küçültebiliriz
6.
Yardım: Scratch
ve komut blokları hakkında yardım sağlar.
New: Yeni
dosya oluşturmak için
Open: Var
olan dosyayı açmak için
Save:
Dosyayı
kaydetmek için
Save
As: Farklı
kaydetmek için
Record
Project Video: Projeye
video eklemek için
Share
to
website: Web sitede paylaşmak için
Check
for
update:
Güncellemeleri kontrol etmek için
Quit:
Çıkış yapmak için
Düzenleme Menüsü
Undelete:
Silinen
komut bloklarını geri alır.
Small stage
layout: Kodlama esnasında sahnenin
küçük ya da büyük olmasını sağlar.
Turbo mode:
Projeyi hızlı çalıştırmak için
Sahne
Sahne ve Dekor Ayarları
1. Dekoru Kütüphaneden Seç: Kütüphaneden
dekor eklemek için kullanılır.
2.
Yeni Dekor Çiz: Bir
çizim arayüzü
sayesinde dekoru siz çizersiniz.
3.
Dekoru Bilgisayarımdan Seç: Bilgisayarınızda
kayıtlı bir resmi dekor olarak eklemek için kullanılır.
4.
Kameradan Yeni Dekor Oluştur: Bilgisayara
bağlı kamera yardımıyla çekilen fotoğrafı dekor olarak ekler.
Kuklalar(Karakterler)
1.
Kuklayı Kütüphaneden Seç: Kütüphaneden
yeni kukla eklemek için kullanılır.
2.
Yeni Kukla Çiz: Bir
çizim arayüzü
sayesinde yeni kuklayı siz çizersiniz.
3.
Kuklayı Bilgisayarımdan Seç: Bilgisayarınızda
kayıtlı bir resmi yeni kukla olarak eklemek için kullanılır.
4.
Kameradan Yeni Kukla Oluştur: Bilgisayara
bağlı kamera yardımıyla çekilen fotoğrafı yeni kukla olarak ekler.
Kukla Bilgisi
1.
Kukla adı: Kuklanın
adını değiştirmek için kullanılır.
2.
Konum ve Yön bilgisi: Kuklanın
koordinatlarını(konum) ve yönünü belirtir bu bölümden kukla yönü
değiştirilebilir.
3.
Dönme Özellikleri: Karakterin
nasıl döneceğini belirlediğimiz bölümdür. Bunlar;
4.Görün: Proje
çalıştırıldığında kuklanın ekranda görünüp görünmeyeceğini ayarlar.
5.
Oyunda Sürüklenebilir: Proje
çalıştırıldıktan sonra kuklanın fare ile tutularak sürüklenip
sürüklenemeyeceğini ayarlar.
Kılıklar(Kostümler)

Karakterimizin
başka görünümlerinin olmasını istiyorsak kütüphaneden ekleyebilir, kendimiz
çizebilir, bilgisayarımızda kayıtlı bir resmi içe aktarabiliriz ya da kamera
ile çekebiliriz. Var olan kostümleri kostümün sağ üst köşesindeki ‘x’ butonuna
basarak silebiliriz, seçili kostümü sağdaki düzenleme alanında
düzenleyebiliriz. Kostüm üzerinde sağ tık yaparak kopyalayabilir ve silebiliriz
Blok Paketi(Diziler)

Blok
Paletinde karakterleri programlayabilmek için kullanılan bloklar vardır. 10 ana
kategoride toplanmış blok grubu bulunmaktadır.
Hareket
1. Karakteri
öne ya da arkaya doğru hareket ettirir.
2. Karakterin
istenilen derece kadar saat yönünde dönmesini sağlar.
3. Karakterin
istenilen derece kadar saat yönü tersine dönmesini sağlar.
4. Karakterin
hangi yöne döneceğini belirler. (0=yukarı, 90=sağ,180=aşağı, -90=sol)
5. Karakteri
‘mause
işaretçisi’ veya başka karakterler varsa istenilen ‘karakter’ e doğru
döndürülür.
6. Karakteri
istenilen x ve y konumuna getirir.
7. Karakter
‘mause
işaretçisi’ veya başka karakterler varsa istenilen ‘karakter’ ile aynı konuma
gönderilir.
8. Karakter
belli bir süre içerisinde belirlenen x ve y konumuna hareket eder.
9. Karakterin
bulunduğu konumun x değeri istenilen değer kadar arttırılır veya
azaltılır.
10. Karakterin
x konumunu istenilen değere çeker.
11. Karakterin
bulunduğu konumun y değeri istenilen değer kadar arttırılır veya
azaltılır.
12. Karakterin
y konumunu istenilen değere çeker.
13. Karakter
ekranın kenarına değdiği an karakteri ters yöne döndürür.
14. Karakterin
sağa-sola dönme, etrafında dönebilme ve hiç dönememe ayarlarını yapar
15. Karakterin
x pozisyonu bilgisini verir. Bu seçenek işaretlendiğinde x değerini ekranda
görebiliriz.
16. Karakterin
y pozisyonu bilgisini verir. Bu seçenek işaretlendiğinde y değerini ekranda
görebiliriz.
17. Karakterin
yön bilgisini verir. Bu seçenek işaretlendiğinde yön bilgisini ekranda
görebiliriz.
Görünüm
1. Karakter istenilen süre
boyunca ‘Hello!’
yazan kutudaki değeri ekranda konuşma balonu içerisinde gösterir.
2. Karakter
‘Merhaba’ yazan kutudaki değeri ekranda balon içerisinde gösterir. Kutu içerisi
boş bırakılırsa konuşma balonu oluşmaz.
3. Karakter
istenilen süre boyunca ‘Hmm…’
yazan kutudaki değeri ekranda düşünme balonu içerisinde gösterir.
4. Karakter
‘Hmm…’
yazan kutudaki değeri ekranda balon içerisinde gösterir.
5. Karakteri
ekranda görünür hale getirir.
6. Karakteri
Ekranda görünmez yapar.
7. Karakteri
istenilen kostüme geçmesini sağlar.
8. Karakterin
o anki kostümünden bir sonraki kostümüne geçmesini sağlar.
9. Mevcut
sahne dekorunu istenilen dekorla değiştirir.
10. Karakterin
rengi, balıkgözü, Hızlı dön, Piksellere böl, mozaik, parlaklık, hayalet efekti
sayı yazan yerdeki değer kadar değişir.
11. Karakterin
rengi, balıkgözü, Hızlı dön, Piksellere böl, mozaik, parlaklık, hayalet efekti
sayı yazan yerdeki değer olur.
12. Karakter
üzerinde uygulanmış bütün efektleri geri alır.
13. Karakterin
boyunu istenilen değer kadar değiştirir.
14. Karakterin
boyu istenilen %’ ye getirilir.
15. Karakterin
diğer bir üst katmana çıkmasını sağlar. Böylece karakter diğer karakterlerin
önünde görünebilir.
16. Karakterin
istenilen katman değeri kadar geri gitmesini sağlar. Böylece karakter diğer
karakterlerin arkasında gizlenebilir.
17. Karakterin
o anki kostüm bilgisini verir. Yan tarafındaki kutu işaretlendiğinde ekranda
kostüm bilgisi görülür.
18. Sahnede
o anda gösterilen dekorun adını verir.
19. Karakterin
ebat değerini % olarak verir. Yan tarafındaki kutu işaretlendiğinde ebat değeri
ekranda görünür.
Ses
1. Seçili olan müzik çalmaya
başlar. Program müziğin bitmesini beklemeden diğer blokları çalıştırmaya devam
eder.
2. Seçili
olan müzik çalmaya başlar ve bitene kadar diğer bloğa geçilmez.
3. Çalmaya
devam eden müzikler bu blok çalıştığında durur.
4. 48
(davul) sesini istenilen istenen sürede bir çalar. (18 sesinin bulunduğu yer
açılır menüdür ve ses buradan değiştirilebilir.)
5. İstenilen
vuruşun bitmesini bekler.
6. İstenilen
notayı istenilen sürede bir çalar.
7. Enstrümanı(çalgıyı)
değiştirmeyi sağlar.
8. Sesi
azaltır ya da arttırır.
9. Ses
yüksekliğini belli bir % ye getirir.
10. O anki
ses seviyesi bilgisini verir. Yan taraftaki kutu işaretlendiğinde ekranda ses
bilgisi % olarak görünür.
11. Tempo
değeri istenilen değere göre değiştirir.
12. Tempo
değeri saniyede istenilen vuruş değeri yapılır.
13. O anki
tempo değeri bilgisini verir. Yan taraftaki kutu işaretlendiğinde ekranda tempo
değeri görünür.
Kalem
1.Ekrana kalem ile çizilenlerin
hepsini siler.
2. Karakterin
o anki konumunda ekrana kendi imajını (görüntüsünü) yapıştırır.
3. Karakterin
hareket ettiği doğrultuda kalem ile ekranı çizer.
4. Karakterin
hareket ettiği yerler çizilmez.
5. Kalem
rengi istenilen renk değerine geçer.
6. Kalem
rengi bu blok çalıştığında istenilen değer kadar değişir.
7. Kalem
renginin istenilen değer olması sağlanır.
8. Kalem
tonu istenilen değer kadar değiştirilir. (kalem tonu 0’ dan 100’ e doğru
açılır, 100’ den 200’e doğru koyulaşır.)
9. Kalem
tonu istenen değer olur.
10. Kalem
kalınlığı istenen değer kadar değişir.
Olaylar
1. Proje
içerisinde yeşil bayrağa tıkladığında bu blok altında sıralanmış kod kümesini
çalıştırır.
2. Seçilmiş
olan tuşa (burada boşluk tuşu seçilmiş) basıldığında bu blok altında sıralanmış
kod kümesini çalıştırır.
3. Karaktere
tıklandığında bu blok altında sıralanmış kod kümesini çalıştırır.
4. Sahne
dekoru burada seçilen dekor olunca bu blok altında sıralanmış kod kümesini
çalıştırır.
5. Ses
şiddeti belirtilen rakamdan yüksek olunca bu blok altında sıralanmış kod
kümesini çalıştırır.
6. Yapılan
duyurunun ardından bu blok altındaki kod kümesi çalışır.
7. Bu blok
ile yeni haber yazarak komut kümelerini çalıştırmak için yeni bir blok
oluşturmuş oluruz. Bu blok çalıştığında yapılan duyurunun ardından bloktaki
diğer komutlar çalışmaya devam ederken bu duyuruya ait kod kümesi de çalışmaya
başlar.
8. Yapılan
duyurunun ardından bu bloğun altında kod kümesi var ise bu duyuruya ait kod
kümesinin çalışmadan bekler, bitiminden sonra kendi çalışmasına devam eder.
Kontrol
1. Projeyi istenilen süre kadar
bekletir, süre tamamlanınca sıradaki bloktan çalışmaya devam eder.
2. Bu
blok içerisinde bulunan bloklar sırasıyla
istenilen değer kadar tekrar tekrar
çalıştırılır.
3. Bu
blok içerisinde bulunan bloklar sırasıyla program durdurulana kadar tekrar
tekrar çalıştırılır (sonsuz döngü).
4. Eğer’
den sonra gelen koşul doğru ise program bu blok içerisine girer ve bu blokları
çalıştırır, ardından bu blok içerisinden çıkarak sonraki bloktan çalışmaya
devam eder.
5. Eğer
koşul doğru ise hemen altında yer alan kod blokları icra edilir ve bu kod
bloğundan çıkılarak program icraya devam eder. Eğer koşul yanlış ise ‘öyle
değil ise’ kısmında yer alan bloklar icra edilir, icradan sonra bu bloktan
çıkılarak program akışı kaldığı yerden devam eder.
6. Koşul
doğru olana kadar beklenir, koşul doğru olunca aşağıdaki bloklar çalışmaya
başlar.
7. Koşul
doğru olunca blok içerisine girilerek kodlar icra edilir. Koşulun her döngüde
doğru olması halinde icra devam eder. Koşul doğrulanmadığı halde altındaki
kodlar çalıştırılır.
8. ‘Hepsini’,
‘bu diziyi’, ’ kuklanın kendi dizilerini’ seçenekleri ile istenen kod
dizilerini (bloklarının) çalışması durdurulur.
9. Bir
kuklanın ikizi program akışı esnasında komutla oluşturulduğunda bu blok
altındaki komutlar çalışır.
10. Program
akışı esnasında kendinin yada seçilecek başka bir kuklanın ikizi
oluşturulur.
11. Oluşturulan
kukla ikizin silinmesini sağlar.
Algılama
1. Karakterimizin karaktere / Mause
işaretçisine/ kenara değip değmediği kontrolünü yapar. (seçim için açılır
menüye tıklayın.)
2. Karakterin
seçilen renge değip değmediği kontrolünü yapar. (Rengi değiştirmek için renk
üzerine tıklayıp ekrandan renk seçin.)
3. Karakterin
üzerindeki seçtiğiniz rengin seçtiğiniz bir başka renge değip değmediği
kontrolünü yapar.
4. Karakterin
açılır menüden seçtiğimiz başka bir karakter ya da mause
işaretçisiyle arasında olan mesafe bilgisini verir.
5. Diye
Sor ve bekle komutu ardından verdiğin yanıt bu ‘yanıt’ bloğunda tutulur.
6. Blok
yanındaki kutuya tıkladığında vermiş olduğun yanıt proje ekranında görünür.
7. Seçili
olan tuşa basılı olma durumunu kontrol eder.
8. ‘Fare
basılı’ mı kontrolü yapar.
9. Farenin
x koordinatını verir.
10. Farenin
y koordinatını verir.
11. Ses
yüksekliği bilgisini barındırır.
12. Web
kamerasındaki görüntünün hareket oranını ve yönünü tespit eder.
13. Web
kamerasının görüntüsünü alarak sahnede görünmesini sağlar.
14. Web
kamerasın görüntüsünü istenilen oranda saydamlaştırır.
15. Saniye
cinsinden geçen süre bilgisini tutar.
16. Süre
ölçeri sıfırlar
17. Seçili
olan karakterin/sahnenin seçenekler dahilindeki (x koordinatı/ y koordinatı/
yön/ şu anda görünen kostüm/ ebat/ ses seviyesi) bilgisini kullanabilmemizi
sağlar
18. Bilgisayarın
tarih ve saatine göre yapılan seçim doğrultusunda şimdiki yıl, ay, gün,
haftanın kaçıncı günü olduğu(Pazardan başlayarak), saat, dakika ve saniye
bilgilerini verir.
19. 01.01.2000
tarih ve 00:00 saatten şu anki tarih ve saate kadar geçen gün sayısını
verir.
20. Scratch kullanıcı
adınızı içerir. Çalışması için siteye kullanıcı adınız ve şifrenizle giriş
yapmış olmanız gerekir.
İşlemler
1. Boş kutulara yazılan iki
değeri toplar.
2. İlk
kutudaki değerden ikinci kutudaki değeri çıkarır.
3. İki
değeri çarpar.
4. İlk
kutudaki değeri ikinci kutudaki değere böler.
5. Belirtilen
iki değer arasında rastgele bir sayı üretir.
6. İlk
kutudaki değerin ikinci kutudaki değerden küçük durumu kontrolü yapılır.
7. İki
değerin bir biri iler eşitliği durumu kontrolü yapılır.
8. İlk
kutudaki değerin ikinci kutudaki değerden büyük durumu kontrolü yapılır.
9. Belirtilen
iki koşulunda doğruluk kontrolünü yapar.
10. Belirtilen
iki koşuldan en az birinin doğru olması durumunu arar.
11. Koşulda
verilen durumun olmaması istendiği durumlarda bu blok kullanılır.
12. İstenilen
iki değeri metin olarak birleştirilir.
13. İstenilen
değerin hangi sırasındaki harfi isteniyor ise bu blok ile bu bilgi elde
edilir.
14. Değerin
uzunluk bilgisini bu blok ile elde edilir.
15. Bu blok
ilk kutuya yazılan değerin ikinci kutuya yazılan değere göre modunu bulurken elde
edilen kalanı verir.
16. İstenilen
değerin en yakın tam sayıya yuvarlanmasını sağlar.
17. Matematiksel
terimleri bulabileceğimiz (mutlak değer, karekök, sin, cos, tan, asin, acos, atan, ln, log, e^, 10^) bu
blok ile kutuya yazılan değerin karşılığını bilebilir ve bu değeri sayısal
işlemlerde kullanabiliriz.
Veri

1. Bu komut ile yeni bir
değişken oluştururuz.
2. Oluşturulan
‘Puan’ isimli değişken verisi. (Kutu işaretlendiğinde ekrande
değişken değerinin ne olduğu görünür.)
3. Var
olan değişkenlerden istenilen seçilerek istenilen değer yapılır.
4. Var
olan değişkenlerden istenilen seçilerek istenilen değer kadar artırılabilir ya
da azaltılabilir.
5. Var
olan değişkenlerden istenilen değişkeni ekranda gösterir.
6. Var
olan değişkenlerden istenilen değişkeni ekranda gizler.
7. Bu
komut ile yeni bir liste oluştururuz.
8. Sınıf
adlı liste bilgisini barındırır. Kutu işaretlendiğinde liste içeriği ekranda
görünür.
9. İstenilen
değeri seçili olan listeye ekler.
10. Listenin
istenen sırasındaki kaydı, son sırasındaki kaydı ya da tüm kayıtları
siler.
11. İstenen
listenin ilk/son veya herhangi bir sıradaki kayıt bilgisini barındırır.
12. İstenen
listenin toplam kayıt sayısını verir.
13. İstenen
listeyi ekranda gösterir.
14. İstenen
listeyi ekranda gizler.
15. İstenilen
değerin seçilen listede olup olmadığını kontrol eder.
16. İstenen
listenin ilk/son veya herhangi bir sırasına yeni bir nesne eklenir. (Eski bilgi
silinmez, bu bilgi bir sonraki eleman olarak kaydırılır.)
17. İstenen
listenin ilk/son veya herhangi bir sırasındaki elemanı yerine yeni nesnemiz
eklenir.