โครงสร้าง Script in Second Life


       จากบทความที่ผ่านมาเราสามารถสร้าง Script ให้กับวัตถุใน Second Life ได้แล้ว
บทความนี้จะเป็นการอธิบายถึงโครงสร้างด้านใน Script ที่ Second Life ให้มา
( ถ้าหากพอมีพื้นฐานเขียนโปรแกรมจะเข้าใจได้ง่ายมากครับ )

--------------------------------------------------------------
default                                              ----state
{
    state_entry()                                 ----event
    {
        llSay(0, "Hello, Avatar!");           ----fucntion
    }

    touch_start(integer total_number)    ----event
    {
        llSay(0, "Touched.");                  ----fucntion
    }
}
---------------------------------------------------------------

ให้เข้าใจง่าย ๆ การทำงานของ Script ใน Second Life นัั้นจะมีแค่ 3 ส่วนคือ

State
Event
Function

State = การทำงานทั้งหมดจะต้องอยู่ใน {  } ของ  state สังเกตุได้จาก Script ด้านบน

Event = event จะมีหลาย event  ให้เรียกใช้ได้  
            เช่น เมื่อวัตถุโดนคลิกให้ทำอะไร ,เมื่อโดนชนให้ทำอะไร,เมื่อ Run Script ให้ทำอะไร เป็นต้น
            ส่วนการทำงานนั้นถ้าต้องการให้ทำอะไรก็กำหนดใส่ใน {  } ของ event นั้นโดยใช้ function
            ตัวอย่างจากสคริปมีสอง event คือ  state_entry และ touch_start
 
            state_entry คือ event แรกในการทำงาน เมื่อกด Save แล้ว
            Script จะทำงาน ภายใน  {  } ส่วนนี้ทันที  ( event นี้จึงเป็นเหมือน event หลัก )

            touch_start คือ เมื่อวัตถุถูกคลิก Script จะทำงาน ภายใน  {  } ของส่วนนี้ทันที 
            ดู Event ทั้งหมดได้ที่นี่

Fucntion = เช่น Fucntion เปลี่ยนสี , Fucntion แสดงข้อความ ,
                Fucntion สำหรับให้วัตถุหายไป เป็นต้น
                Function จะอยู่ใน {  } ของ Eventเท่านั้น จะมีกี่ Function ก็ได้
                อย่าง Script ด้านบน

                state_entry()                                 Event หลัก
              {
                    llSay(0, "Hello, Avatar!");            function แสดงข้อความ                          
              }
              touch_start(integer total_number)     Event click
               {
                    llSay(0, "Touched.");                  function แสดงข้อความ
                 }
         
           การทำงานคือ
           เมื่อ Run Script ( Save )
           จะแสดงข้อความว่า   "Hello,Avatar!"
           เมื่อคลิกวัตถุ
           จะแสดงข้อความว่า    "Touched."
           


              หากเราเปลี่ยนข้อความใน Script  เมื่อ Run ก็จะได้ตามข้อความที่เราใส่ไปครับ


            หรืออาจใส่ Function เดิมเข้าไปซ้ำ ๆ ก็ได้  เช่น

default                                            
{
    state_entry()                                
    {
        llSay(0, "A"); 
        llSay(0, "B");
        llSay(0, "C");        
    }

    touch_start(integer total_number)    
    {
        llSay(0, "Touched.");                  
    }
}

 ลองเอาไป Run แล้วสังเกตุ ผลได้ที่ครับ

Function ต่าง ๆ ของ Second Life

สรุป
ทุกการทำงานของ Script จะต้องอยู่ใน State
Event จะใช้กี่ Event ก็ได้ขึ้นอยู่กับการเรียกใช้
Function ใช้กี่ Function ก็ได้ แต่ต้องอยู่ภายใน Event ใด Event หนึ่ง

บทความนี่้ผมอธิบายเพียงให้เข้าใจโครงสร้างของ Script Second Life
ยังไม่ได้อธิบายรายละเอียดการทำงานของแต่ละ Event  แต่ละ Function มากนัก
ในบทความต่อ ๆ ไปผมจะหา Event และ Function ที่ ใช้บ่อย ๆ มาแนะนำการใช้ให้นะครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น