. . . . . .ต่อไปเป็นการใช้งานเสียงเอฟเฟคต่างๆ ผมใช้รูปแบบ 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 ก่อนนะครับ ผมจะอธิบายเพิ่มเติมต่อไป