. . . . . .ต่อไปเป็นการใช้งานเสียงเอฟเฟคต่างๆ ผมใช้รูปแบบ WAVE ซึ่งหาได้ง่าย สร้างก็ง่าย ผมเขียนเป็น class CWave ก็ยังใช้ง่ายอยู่ดีครับ ดูโปรแกรมครับ |
CWave wave1; wave1.Load( "WAVE.WAV" ); // โหลดเสียงชื่อ WAVE.WAV wave1.Play( ); // แสดงเสียง wave1.SetPan( -10000 ); // กำหนดตำแหน่งเสียงไปทางซ้ายสุด wave1.SetPan( 10000 ); // กำหนดตำแหน่งเสียงไปทางขวาสุด wave1.SetVolumn( 10000 ); // กำหนดความดังของเสียง สุดๆ wave1.Stop( ); // หยุดแสดงเสียง |
. . . . . .จากโปรแกรมข้างบนไม่รู้จะอธิบายยังงัย มันตรงตัวเลยอะ ง่ายดีมั๊ย ถ้าอยากเล่นเพลงประกอบฉากหรือ MIDI หรือเพลงจาก CD ก็ไม่ยากเลย เขียนแบบนี้ครับ |
CSoundPlayer
song1; song1.Load( "SONG.MID" ); // โหลดเพลง song1.Play( ); // เล่นเพลง song1.Stop( ); // หยุดเพลง |
. . . . . .โอย.....อันนี้ยิ่งง่ายไปใหญ่เลย คราวนี้มาลองเล่นภาพยนต์กันบ้าง เขียนแบบนี้ๆ |
CMedia media1; media1.Load( "TEST.AVI" ); // โหลดภาพยนต์ media1.Play( ); // แสดงภาพยนต์ media1.Stop( ); // หยุดภาพยนต์ |
. . . . . .ฮ่า ฮ่า ฮ่า เขียนสบายใช้ก็ง่ายอะไรจะปานนั้น ต่อไปเป็นเรื่อง Input ละ ทั้ง Keyboard และ Mouse มีวิธีการใช้งานแบบนี้ครับ ตรวจสอบจาก Hardware โดยตรงเลย |
int
x = 0; int y = 0; if( SysKeyInput[ DIK_LEFT ] ) x--; if( SysKeyInput[ DIK_RIGHT ] ) x++; // หรือจะตรวสอบจาก Mouse ก็ได้แบบนี้ครับ x += SysMouseInput.lX; y += SysMouseInput.lY; if( SysMouseInput.rgbButtons[0] ) x = 100; // ตรวจสอบปุ่มซ้าย if( SysMouseInput.rgbButtons[1] ) y = 100; // ตรวจสอบปุ่มขวา |
. . . . . .ก็ไม่ยากเย็นอะไรอีกนั่นละ DIK_LEFT และ DIK_RIGHT คือค่าประจำตำแหน่งของคีย์บอร์ด ให้ดูใน Help ของ Visual C++ นะครับ มีบอกอย่างละเอียด ตอนนี้คงจะเว้นไว้เรื่อง Multi player ละเพราะตรงนี้ยุ่งยากพอสมควร ส่วนตัวก็ใช้งานได้แล้วครับ แต่อธิบายคงยาว เดี๋ยวผมทำให้ใช้งานได้ง่ายกว่านี้ก่อนจะมาบอกเรื่องการเขียนผ่านระบบ TCP/IP IPX หรือ Modem ครับ และเรื่อง 3D ให้ไปดูระบบ 3D ที่กราฟฟิก 3D ก่อนนะครับ ผมจะอธิบายเพิ่มเติมต่อไป |