Bilgisayar biliminde veya oyun geliştirmede birçok şey sıklıkla tekrarlanır. Örneğin, bir uygulama içerikleri birkaç saniyede bir güncelleyebilir veya bir oyun, oyuncuları her giriş yaptıklarında ödüllendirebilir. Bu davranışı gerçekleştirmek için kodlayıcılar genellikle döngüler kullanır.
Bilgisayar biliminde, bir döngü, bir grup talimatın belirli bir koşul karşılanana kadar tekrar eden bir kodlama desenidir. Bunu uygulamak için, sonsuz bir şekilde renk değiştiren bir parça kodlayacaksınız. Daha sonraki dersler döngüyü durdurmanın yollarını gösterecektir.
Parçayı ve scripti ayarla
Bu alıştırma için herhangi bir Roblox projesini kullanın. İşiniz bittiğinde, bu parça bir ortamı süslemek için kullanılabilir.
Tanımlayıcı bir isimle yeni bir parça oluşturun. Bu ders LoopingPart kullanır.
ServerScriptService altında, LoopingScript adlı yeni bir script ekleyin.
Scriptte, Hello World ifadesini silin ve bu scriptin amacını belirten bir yorum yazın.
-- LoopingPart'ın rengini her birkaç saniyede bir değiştirir
Bir parçayı depolamak için değişkenler kullanın
Değişkenler ayrıca metinler dışında nesnelere referanslar da tutabilir. Örneğin, bir script bir parçanın referansını biliyorsa, script onu değiştirebilir.
Sürekli olarak workspace.NameOfYourPart yazmak yerine, o bütün satır bir lokal değişkende saklanabilir. Lokal değişkenler, local yazarak ve sonra değişkenin ismini yazarak oluşturulur.
Örneğin: local nameOfVariable.
Yorumun altında bir lokal değişken oluşturmak için local loopingPart yazın.
-- LoopingPart'ın rengini her birkaç saniyede bir değiştirirlocal loopingPartDeğişkeni döngü parçasına ayarlamak için aynı satırda = workspace.LoopingPart yazın. = operatörünün, bir değişkenin değerini sağındaki şeye ayarladığını unutmayın.
-- LoopingPart'ın rengini her birkaç saniyede bir değiştirirlocal loopingPart = workspace.LoopingPart
While döngüleri
Renk değiştiren parça için while döngüsünü oluşturmadan önce, sözdizimini açıklamak faydalıdır. Bir while döngüsü üç bileşene sahiptir:
- while anahtar kelimesi.
- Anahtar kelimeden sonra her zaman bir koşul.
- do ve end anahtar kelimeleri arasında talimatlar.
Döngülerde, koşullar çeşitli mantıksal ifadeler olabilir. Bazı örnekler, iki sayının eşit olup olmadığını kontrol etmektir. Bir döngü, koşulu doğru olduğunda çalışır.
Aşağıdaki örnekte, koşul doğru olduğu için bu döngü sonsuza kadar çalışacaktır. Daha sonraki derslerde, döngüyü durduran belirli koşullar kodlayacaksınız.
while true doprint("Bu döngü çalışıyor")end
Bir while döngüsü kodlayın
Sonraki adımda, renk değiştiren parça için while döngüsünü ayarlayacaksınız.
Sonraki satıra while true do yazın. Ardından Enter tuşuna basarak otomatik tamamlama yapın ve end kelimesini ekleyin.
-- loopingPart'ın rengini her birkaç saniyede bir değiştirirlocal loopingPart = workspace.LoopingPart-- Döngü Koduwhile true doend
Döngüde kod ekleyin
While döngüsü oluşturulduktan sonra, zamanla parçanın rengini değiştiren talimatlar eklenebilir. Döngü içerisinde, her bir renk için bir kod satırı ekleyin. Her renk RGB değerleri kullanacak, bu da bilgisayar biliminde renkleri sayılar olarak saklamanın bir yoludur.
while true do ve end arasında, parçanın Color özelliğini Color3.fromRGB() olarak ayarlayın.
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB()endRengi ayarlamak için Studio'da bir renk seçici kullanabilirsiniz. Bunu yapmak için fromRGB'nin yanındaki () içine sol tıklayın. Ardından, renk tekerleği simgesine tıklayın. İstediğiniz rengi elde ettiğinizde, otomatik olarak renk değerini koda eklemek için Tamam'a basın.
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB(82, 227, 255)end
Scriptin beklemesini sağlama
Şu anda, hemen renkten renge geçiren ikinci bir renk değiştirme kodu eklerseniz, ilk rengin ne kadar hızlı geçtiğini göremeyebilirsiniz. Scriptin bir sonraki kod satırını çalıştırmadan önce beklemesini sağlamak için task.wait() fonksiyonunu kullanın.
Tuğla rengini değiştirdikten sonra, task.wait(3) yazın. () içine yerleştirilen herhangi bir sayı, scriptin kaç saniye bekleyeceğini belirtir.
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB(82, 227, 255)task.wait(3)endBekleme işlevinin altında, yeni bir renk ekleme işlemini aynı şekilde tekrar edin. Bunu ek bir bekleme fonksiyonu ile bitirin.
while true doloopingPart.Color = Color3.fromRGB(82, 227, 255)task.wait(3)loopingPart.Color = Color3.fromRGB(177, 52, 255)task.wait(3)endKodu test edin ve renklerin değişip değişmediğine bakın.
Sorun Giderme Notları
Bu noktada, renk değiştiren parçanın istediğiniz gibi çalışmaması durumunda, aşağıdakilerden birini deneyin.
Sorun: Renkler atlanıyor
- Her renk değişikliği arasında bir bekleme işlevi olduğundan emin olun, özellikle son satirde.
- Tüm renk değiştirme ve bekleme kodunun while true do ile end bölümleri arasında olduğunu kontrol edin.
Sorun: Parça hala gri veya istenen renge geçmiyor
- Tüm RGB değerlerinin 0 ile 255 arasında, tam veya ondalıklı sayılar olduğundan ve virgüllerle ayrıldığından emin olun.
- Bekleme fonksiyonunun () içindeki sayıların 1'den büyük olması gerekir. Bekleme süresi çok kısa olursa, o rengi göremeyebilirsiniz.
Renk döngüleyen parça scriptinin tamamı
-- Parçayı saklamak için bir değişken oluşturlocal loopingPart = workspace.LoopingPart-- Döngü Koduwhile true do-- loopingPart'ın rengini değiştirirloopingPart.Color = Color3.fromRGB(82, 227, 255)-- Bir sonraki talimattan önce 3 saniye bekletask.wait(3)loopingPart.Color = Color3.fromRGB(177, 52, 255)task.wait(3)end
Özet
Döngüler, çoğu bilgisayar dilinde yaygın bir unsurdur. Belirli koşullar karşılandığında talimatları tekrar etmek için kullanılırlar. Bu makalede, while döngüsü, talimatları sonsuza kadar tekrar etmek için kullanılmıştır. Sonsuza kadar tekrar eden bir while döngüsü oluşturmak için aşağıdaki sözdizimini kullanın ve do ile end anahtar kelimeleri arasında talimatlar eklemeyi unutmayın.
while true do-- Talimatlarend