Membuat animasi bintang dengan turtle

Setelah sebelumnya kita sudah belajar tentang pengenalan turtle, sekarang kita akan mencoba membuat animasi bintang dengan turtle, hasil yang akan ditampilkan dari animasi ini adalah seperti Gambar dibawah ini.
untuk membuat animasi seperti diatas, kita akan belajar fungsi clone di turtle, fungsi meberikan warna dan getturtle() untuk merubah cursor yang tadinya hanya berbentuk segitiga, sekarang akan coba dirubah menjadi kura-kura. Script yang dibuat untuk menghasilkan animasi seperti diatas adalah sebagai berikut

import turtle
import time #import time untuk fungsi delay/jeda

turtle.title("PapermindVention") #mengganti nama jendela di turtle
turtle.speed(7) #mengatur kecepatan turtle


turtle.getturtle()
turtle.resizemode("small") #ukuran turtle
turtle.shape("turtle")
t=turtle #menyimpan turtle pada variabel t
t.up() # disable draw line
# clone turtle menjadi 5 dengan variable a,b,c,d dan e
a = t.clone()
b = t.clone()
c = t.clone()
d = t.clone()
e = t.clone()

# mengatur arah pergerakan turtle
a.left(90)
c.right(60)
d.right(120)
e.right(180)

#masing masing turtle akan bergerakn sebanyak 100 px
a.forward(100)
b.forward(100)
c.forward(100)
d.forward(100)
e.forward(100)

# mulai memberikan garis
a.down()
b.down()
c.down()
d.down()
e.down()

# memulai area yang akan di fill dengan warna tertentu
a.begin_fill()
b.begin_fill()
c.begin_fill()
d.begin_fill()
e.begin_fill()

# mengatur warna warna yang diingnkan
a.color('red')
b.color('green')
c.color('blue')
d.color('red')
e.color('green')

# membuat perulangan untuk membuat lingkaran
for x in xrange(0,12):
a.right(45)
b.right(45)
c.right(45)
d.right(45)
e.right(45)
a.forward(10)
b.forward(10)
c.forward(10)
d.forward(10)
e.forward(10)
pass

# batas untuk area yang di fill
a.end_fill()
b.end_fill()
c.end_fill()
d.end_fill()
e.end_fill()

kembali bergerak sebanyan beberapa px
a.forward(70)
b.forward(50)
c.forward(50)
d.forward(50)
e.forward(70)

a.left(70)
b.left(90)
c.left(90)
d.left(90)
e.left(70)

a.forward(70)
b.forward(50)
c.forward(50)
d.forward(50)
e.forward(70)

# jeda selama 3 detik setelah selesai membua bintang
time.sleep(3)

# mengembalikan turtle ke posisi semula, dan menghapus semua garis -garis
for x in xrange(0,170):
a.undo()
b.undo()
c.undo()
d.undo()
e.undo()
time.sleep(0.3)
pass
turtle.mainloop()


silahkan dicoba, untuk hasil yang lebih baik silahkan dikembangkan lagi.....

video animasinya dapat dilihat dibawah


Comments