Chat Room

บทที่ 3.1 SoundCue


Sound Cue
หรือ
การเล่นเสียง
ในที่นี้ผมจะมาสอนการเขียน script ในการเล่นเสียงนะครับ

วันนี้เราจะมาเล่นเสียงกันนะครับ
โดยที่เรา


ก่อนอื่นก็มาเริ่มเขียนกันเลยดีกว่าเพื่อเป็นการไม่เสียเวลา เรามาทำความเข้าใจกับเสียงก่อนดีกว่า
เราจะมาต่อ ยอด code จาก บทที่ 2,3 กัน

คราวนี้เปิดตัว Editor ขึ้นมามาทำการเลือก Sound Cue กันผมก็จะหยิบเสียงมาหนึ่งตัว


เมื่อเลือกได้แล้ว ก็จะทำการสร้าง code กันเลยจะต่อยอดจากบทที่ 3 นะครับ
บทที่สามนี่ ผมจะพูดถึงเรื่องการ win อะไรพวกนี้ใช่ไหมครับ งั้นเราลองมาสร้างเสียงแห่งชัยชนะกัน
ดีกว่า เอาล่ะมาเริ่มกัน เรามาดู code เก่าๆกันก่อนดีกว่า



Class TestGame extends gameinfo;

var string win;

event postbeginplay(){
super.postbeginplay();
SetTimer(5,false,nameOf(Ending));
}

function Ending(){
EndGame(none,"Lost");
}

function bool CheckModifiedEndGame(PlayerReplicationInfo Winner, string Reason){
if(Reason == "Lost"){
return false;
}
return true;
}

function PerformEndGameHandling()
{
//super.PerformEndGameHandling();
RestartGame();
}

function string GetNextMap(){
if(win == "winner"){
return "2.udk";
}
}


defaultproperties
{
win = "winners"
bRestartLevel=false;
bDelayedStart=false;
PlayerControllerClass=class'MyController'
DefaultPawnClass=class'MyPawn'
}

อ่่าทีนี้ ผมจะมาลองใส่ code ข้างใน function Ending นะครับ
มาลองกันก่อนอื่นเราต้องนำเข้าเสียงขึ้นมาก่อนทำยังไงล่ะ ผมมีสองทางเลือก

ตัวอย่างคือ

Var soundcue sound_a;

แล้วไปตั้ง defaulproperties
ว่า

// เลือก File ใน Editor มาใช้งาน
sound_a=soundcue'file ที่เลือก'

แล้วก็ไปกำหนดใน function Ending
PlaySound(sound_a);

//--------------------------------------------------------

วิธีที่สอง

กำหนด

// เลือก File ใน Editor มาใช้งาน
PlaySound(soundcue'file ที่เลือก');

//-------------------------------------------------------

ของผมจะใช้แบบวิธีที่สองนะครับ

function Ending(){
PlaySound(SoundCue'A_Music_RomNecris01.MusicSegments.A_Music_RomNecris01_Victory01Cue');
EndGame(none,"Lost");
}

แล้วมาลองรันดู
ตอนชนะก็จะได้เสียงออกมา

สรุป

PlaySound = function ที่ทำงานด้านเสียง

2 ความคิดเห็น:

Unknown กล่าวว่า...

ทำไมถึง Import Failed. อะครับ

Unknown กล่าวว่า...

ไฟล์ Wave 16 bit rate นะครับ
32 bit rate ไม่ได้นะครับผม
UDK ไม่ซัฟพอร์ท ไฟล์สกุล mp3 นะครับ