Pemrograman dengan Script Lingo

commit to user 36 Gambar 4.17 Pembuatan Animasi Tombol

4. Pemrograman dengan Script Lingo

Script lingo digunakan untuk menjalankan aksi pada frame dan obyek yang telah disusun pada frame. Untuk memberikan script lingo pada obyek, yaitu dengan klik kanan obyek dan klik script. Script yang telah dibuat secara otomatis akan menjadi cast member, sehingga dapat digunakan berulang kali. Script lingo yang digunakan dalam aplikasi ini adalah sebagai berikut: a. Script menuju ke halaman standard on mouseEnter me sprite 2 . member = buttonbar sprite 7 . member = h-standard end on mouseLeave me sprite 2 . member = buttonmainu sprite 7 . member = home” end on mouseUp me go to Standard end commit to user 37 Maksud dari script lingo di atas adalah saat cursor mouse berada pada area obyek, member sprite 2 diganti dengan cast member “buttonbar” dan member sprite 7 diganti dengan cast member “h-standard”. Saat mouse meniggalkan obyek, member sprite 2 diganti dengan cast member “buttonmainu” dan member sprite 7 diganti dengan cast member “home”. Dan saat mouse diklik , menuju ke frame dengan nama “Standard”. Script tersebut dipasang pada obyek tombol standard room. b. Script quit Script di atas dipasang pada obyek 3 dimensi huruf X pada halaman utama sebagai tombol keluar. Maksud dari script lingo di atas adalah saat obyek diklik, maka akan keluar dari aplikasi. c. Script untuk menjelajahi ruang standard room property world ,scene,my, height property x , y , z ,r property cam property colRadius,px,py,rayHeight,rayAngle on new me ,args world = args. world scene = world .scene -- tinggi karakter height = 120 rayHeight = 4 rayAngle = pi 4 member standard1 . model out . visibility = non e on mouseUp me halt end commit to user 38 -- membuat kamera dan menentukan posisi koordinat my = scene. camera [ 1 ] my. fieldOfView = 60 x = 130 y = 50 z = r = px = py = colRadius = 20 return me end on enterframe me -- mendeklarasikan tombol arrow pada keyboard pUp = keyPressed 126 pDown = keyPressed 125 pLeft = keyPressed 123 Pright = keyPressed 124 -- aksi saat tombol arrow pada keyboard ditekan rotateAmount = pRight-pLeft 0.03 moveAmount = pUp-pDown 4 -- update posisi kamera r = r + rotateAmount xm = sin rmoveAmount ym = cos rmoveAmount x = x + xm y = y + ym me .doWallCollision my. transform . position = vector x , y , height my. transform . rotation = vector 90 , ,toDegreesr end on toDegrees radianValue return radianValue- 180 pi end --mengatur agar kamera tidak dapat menembus tembok commit to user 39 on doWallCollision me if px= x and py= y then return else motionAngle = atan x -px, y -py end if -- cek tembok wallChecks = [] raySource = vector x , y , z +rayHeight rayVectorLeft = vector sin motionAngle+rayAngle, cos motionAngle +rayAngle, rayVectorRight = vector sin motionAngle- rayAngle, cos motionAngle-rayAngle, wallChecks. add scene. modelsUnderRay raySource, rayVectorLeft, detailed wallChecks. add scene. modelsUnderRay raySource, rayVectorRight, detailed repeat with wallResult in wallChecks if wallResult. count then wall = wallResult[ 1 ] if wall. distance colRadius then hitPoint = wall. isectPosition penetrationDepth = colRadius- wall. distance wallNormal = wall. isectNormal motionVector = vector sin motionAngle, cos motionAngle, approachAngleFactor = wallNormal. angleBetween motionVector 180.0 reduceJudder = 1 - approachAngleFactorapproachAngleFactor 0.3 resolveVector = wallNormal penetrationDepth reduceJudder x = x + resolveVector. x y = y + resolveVector. y end if end if end repeat commit to user 40 -- update posisi kamera px = x py = y end Script di atas merupakan script untuk interaksi menjelajahi ruang virtual. Pada awal script dideklarasikan variabel yang akan digunakan. Height digunakan untuk menentukan tinggi dari karakter. Obyek “out” disembunyikan dan membuat cahaya dengan nama “room light”. Lalu membuat kamera pada posisi x 130 dan y 50. Pada method enterframe dideklarasikan variabel jika tombol arrow ditekan, maka posisi kamera akan berubah. Method doWallCollision digunakan untuk membuat kamera agar tidak menembus obyek interior ruang virtual. d. Script untuk membuka lemari Interaksi membuka lemari menggunakan script behavior dari Director, yaitu play animation, mouse left, mouse right, dan model rollover cursor. Gambar 4.18 Parameter Play Animation Pada parameter play animation ditentukan model obyek yang diklik, model yang bergerak, keyframe awal animasi, playback animasi, serta nama behavior. commit to user 41 Gambar 4.19 Parameter Mouse Left Pada parameter mouse left ditentukan jika mouse kiri diklik, maka animasi dari grup behavior lemari kanan dijalankan. Gambar 4.20 Parameter Mouse Right Pada parameter mouse right ditentukan jika mouse kanan diklik, maka animasi dari grup behavior lemari kanan di reset dikembalikan pada keadaan semula. Gambar 4.21 Parameter Model Rollover Cursor Pada parameter model rollover cursor ditentukan model yang akan diberi aksi dan jenis kursor saat kursor berada pada model.

5. Pengeditan Sound