Pada video sebelumnya, kita sudah membahas tujuh blok pertama dari kategori Motion. Di bagian ini, kita akan melanjutkan pembahasan blok-blok Motion yang tersisa, mulai dari point in direction hingga blok pelaporan posisi dan arah.
Blok ini digunakan untuk mengatur arah hadap sprite secara langsung. Jika arah sprite saat ini adalah 90, kita bisa mengubahnya menjadi nilai lain, misalnya 280. Setelah blok diklik, arah sprite akan langsung berubah sesuai nilai yang dimasukkan. Nilai ini bisa dikembalikan lagi ke 90 kapan saja.
Blok ini membuat sprite selalu menghadap ke arah posisi kursor mouse. Untuk mendemonstrasikannya, gunakan kombinasi when green flag clicked dan forever:
when [green flag] clicked
forever
point towards mouse-pointer
Saat dijalankan, arah hadap sprite akan terus berubah mengikuti posisi kursor mouse, dan nilai Direction pada panel Sprite akan ikut berubah secara real-time.
Blok ini menambahkan nilai yang dimasukkan ke nilai X saat ini (bukan menggantinya). Misalnya, jika nilai X saat ini adalah 0 dan kita menjalankan change x by 10, nilai X akan menjadi 10. Jika kemudian kita ubah menjadi change x by 15 dan jalankan lagi, nilai X akan menjadi 25 (10 + 15).
Berbeda dengan change x by, blok ini langsung mengganti nilai X dengan angka yang dimasukkan, tanpa menjumlahkannya dengan nilai sebelumnya. Misalnya, jika nilai X sebelumnya 25 lalu kita jalankan set x to 30, nilai X akan menjadi 30 (bukan 55).
Cara kerjanya sama persis dengan change x by, hanya saja berlaku untuk koordinat Y. Blok ini menambahkan nilai yang dimasukkan ke nilai Y saat ini. Misalnya dari 0 menjadi 10, lalu jika ditambah 15 lagi menjadi 25.
Sama seperti set x to, blok ini langsung mengganti nilai Y dengan angka yang dimasukkan, tanpa penjumlahan.
Blok ini membuat sprite otomatis memantul ke arah berlawanan saat menyentuh tepi/batas stage. Untuk mendemonstrasikannya:
when [green flag] clicked
forever
move 10 steps
if on edge, bounce
Saat dijalankan, sprite akan bergerak lurus dan otomatis memantul balik setiap kali menyentuh tepi stage. Jika blok if on edge, bounce dihapus, sprite hanya akan berhenti (tersangkut) di tepi stage tanpa memantul balik.
Blok ini memiliki tiga pilihan gaya rotasi:
Contoh untuk gaya left-right:
when [green flag] clicked
set rotation style [left-right]
forever
move 10 steps
if on edge, bounce
Saat sprite memantul di tepi stage, sprite hanya akan membalik tampilan menghadap kiri/kanan (nilai Direction berubah antara 90 dan -90), tanpa terbalik terbalik posisinya.
Jika rotation style diganti menjadi all around, sprite akan tampak berputar/terbalik (flip) secara vertikal saat memantul dan bergerak mundur.
Jika rotation style diganti menjadi don’t rotate, sprite akan tetap menghadap ke arah yang sama meskipun memantul berulang kali — tidak berputar maupun terbalik sama sekali.
Blok ini menampilkan nilai koordinat X sprite saat ini, dan bisa digunakan di dalam blok lain. Contoh penggunaan dengan blok say:
when [green flag] clicked
say (x position) for 2 seconds
Saat dijalankan, sprite akan menampilkan gelembung teks berisi angka koordinat X-nya saat itu (misalnya “-87.5” atau “0”, tergantung posisi sprite).
Agar tampilannya lebih informatif, kita bisa menggabungkan teks dan nilai menggunakan blok join dari kategori Operators. Contoh:
when [green flag] clicked
say (join "My x axis is" (x position)) for 2 seconds
Hasilnya, sprite akan menampilkan teks seperti “My x axis is 0” alih-alih hanya menampilkan angka saja.
Sama seperti x position, blok ini menampilkan nilai koordinat Y sprite saat ini. Bisa digunakan dengan cara yang sama, misalnya digabungkan dengan teks menggunakan blok join: “My y axis is 16” atau nilai lain sesuai posisi sprite saat itu.
Setiap blok pelaporan (seperti x position, y position, dan direction) memiliki checkbox di samping kirinya pada panel blok. Jika dicentang, nilai tersebut akan langsung ditampilkan sebagai monitor kecil di atas stage, sehingga bisa dipantau secara real-time tanpa perlu menjalankan script.
Blok ini menampilkan nilai arah hadap (direction) sprite saat ini, dengan cara kerja yang sama seperti x position dan y position. Contoh: jika direction diatur ke 90 lalu dijalankan, teks yang muncul adalah “My direction is 90”. Jika diubah ke 180, teksnya akan berubah menjadi “My direction is 180”.
point in direction / point towards mouse-pointer — mengatur arah hadap sprite.change x by / change y by — menambahkan nilai ke koordinat saat ini.set x to / set y to — mengganti langsung nilai koordinat.if on edge, bounce — membuat sprite memantul saat menyentuh tepi stage.set rotation style — mengatur gaya rotasi sprite (left-right, don’t rotate, all around).x position, y position, direction — blok pelaporan nilai posisi dan arah sprite, bisa digabung dengan blok join atau ditampilkan langsung di stage lewat checkbox.