Sound on game
This presentation is the property of its rightful owner.
Sponsored Links
1 / 16

Sound On Game PowerPoint PPT Presentation


  • 42 Views
  • Uploaded on
  • Presentation posted in: General

Sound On Game. Suphot Sawattiwong [email protected] เสียงใน XNA. ใน XNA 3.0 นั้นสามารถ ใช้ . wav, .mp3 ได้โดยตรงใน Content Project ได้เลย และ สามารถในเครื่องมือ ที่ชื่อ Microsoft Cross-Platform Audio Creation Tool หรือ XACT

Download Presentation

Sound On Game

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Sound on game

Sound On Game

[email protected]


Sound on game

เสียงใน XNA

  • ใน XNA 3.0 นั้นสามารถ ใช้ .wav, .mp3 ได้โดยตรงใน Content Project ได้เลย และ สามารถในเครื่องมือ ที่ชื่อMicrosoft Cross-Platform Audio Creation Toolหรือ XACT

  • สิ่งหนึ่งที่ต้องจำไว้ว่า XACT ไม่ใช่โปรแกรมประเภท Sound Editor หากจะต้องการแก้ หรือตัดต่อเสียงควรทำให้เรียบร้อยจากโปรแกรมอื่นๆ ก่อน


Wave wave bank sound bank cue

มารู้จักกับ Wave, Wave Bank, Sound Bank, Cue

  • Waveเป็นไฟล์ที่เก็บ Audio Data เพื่อใช้ได้อย่างอิสระ หรือ เพื่อเกมเสียงที่ใช้ประกอบ effect ในเกม

  • Wave Bankเป็นไฟล์ที่เก็บ wave file หลายๆ อันไว้ด้วยกันเป็นกลุ่มอยู่ในไฟล์เดียว

  • Sound Bankเป็นกลุ่มของหลายๆ wave bank และ cue

  • Cueเป็นไฟล์ที่ยอมให้Programmerเล่นเสียง โดยประกอบด้วย เสียงอย่างน้อย 1 เสียง และอ้างอิงกับ sound bank


Sound on game

การใช้งาน XACT

  • Click ปุ่ม Startเมนู และเลือก All Programs.

  • Click Folder Microsoft XNA Game Studio 3.0 เลือกTools และ click Microsoft Cross-Platform Audio Creation Tool (XACT)

  • จากนั้นให้ทำการ New Project ขึ้นมาโดยต้องนำไฟล์นามสกุล xap ไปใส่ไว้ใน Folder ที่ต้องการ ควรสร้างแยกจาก Project XNA ที่เป็น Visual Studio

  • เลือก Create Wave Bank

  • ทำการ ลาก Sound หรือทำการ insert wave file โดยการ Click ขวา ใน Wave Bank

  • ก่อนทดสอบการ Play ให้ไปเปิด โปรแกรมชื่อ XACT AuditionUtility ก่อน หาได้จาก Start> All Program>Microsoft XNA Game Studio 3.0>Tools> XACT Audition Utility


Sound on game

การใช้งาน XACT

  • แล้วทำการ Create Sound Bank

  • ทำการลาก file จาก wave bank มา sound bank

  • แล้วทำการลาก ไฟล์จาก sound bank ลงไปที่ cue

  • เสร็จแล้วให้ทำการ BuildSound Project

  • ให้ทำการ save

  • จากนั้นให้กลับไปที่ Microsoft Visual C# 2008 Express

  • เปิด Project ที่ต้องการใส่เสียง ทำการ add exist item เลือก .xap ที่ทำการ save ไว้

  • จากนั้นให้ทำการ copy ไฟล์นามสกุล xgs, xsb, xwb ไปไว้ที่เดียวกันกับ .xapซึ่งในที่นี้คือ Folder Content


Sound on game

การเขียนโปรแกรมเสียงโดยใช้ XACT

  • Method ที่ใช้ทำการโหลด เสียงที่ดีที่สุดคงไม่พ้น LoadContentซึ่งจะสร้าง Audio Engine, wave และ sound bank ในนี้ โดยประกาศตัวแปร AudioEngine, WaveBankและ SoundBank เป็น static ใน Class Game1

  • โดยAudioEngineเป็นตัวแปรที่เก็บค่า XACT Game Setting ไว้

  • ส่วนWaveBankและ SoundBank เป็นการบอก AudioEngineว่าไฟล์ไหนถูกเรียกใช้งาน


Sound on game

การเขียนโปรแกรมเสียงโดยใช้ XACT

  • ดูใน Ex16_SoundTest

  • ใน Class Game1 ให้ใส่ตัวแปรดังนี้

  • ใน Method LoadContentให้ใส่ดังต่อไปนี้

static AudioEngineaudio; // ตัวแปรเนี้เก็บค่า XACT game setting

static SoundBanksoundBank;

static WaveBankwaveBank;

Cue gameloopCue;//--------- ตัวแปรเก็บ SoundCue


Sound on game

การเขียนโปรแกรมเสียงโดยใช้ XACT

  • ใน Method LoadContentให้ใส่ดังต่อไปนี้

protected override void LoadContent()

{

spriteBatch =new SpriteBatch(GraphicsDevice);

audio = new AudioEngine("Content\\sound.xgs");

// XACT game setting File

soundBank =new SoundBank(audio, "Content\\Sound Bank.xsb");

// XACT Sound Bank file

waveBank =new WaveBank(audio,"Content\\Wave Bank.xwb");

// XACT Wave Bank File

gameloopCue =soundBank.GetCue("gameloop");

// Cue เป็นตัวที่ใช้ในการเล่นเสียงในเกม

}


Play sound

คำสั่งในการสั่งให้ Play Sound

  • ใน Class Cue มีคำสั่งที่น่าสนใจอยู่หลายคำสั่งที่ใช้ประจำดังนี้

  • และยังมี status ที่น่าสนใจไว้ใช้ประโยชน์อีกดังนี้


Code xact

ตัวอย่าง Code ของการเล่นเพลงโดยใช้ XACT

protected override void Update(GameTimegameTime)

{

if (!gameloopCue.IsPlaying)

// ถ้า gameloopCueไม่ทำการเล่นอยู่จะเป็นจริง

{

gameloopCue.Play();

}

base.Update(gameTime);

}

  • ดูได้ใน Project ชื่อว่า SoundTest


Sound class soundeffect

การเล่น Sound ง่ายๆ ผ่าน Class SoundEffect

  • ทำการ Add New Item นำเพลงเข้ามาใน project ใน Folder Content เหมือนกับการโหลดภาพ

  • จากนั้นให้ประกาศตัวแปรใน Class Game1

  • ใน Method LoadContent ให้ทำตามดังนี้

SoundEffectsoundEffect;// ตัวแปร soundEffect

protected override void LoadContent()

{

spriteBatch = new SpriteBatch(GraphicsDevice);

soundEffect = Content.Load<SoundEffect>(@"gameloop");// โหลด Content

soundEffect.Play(); // เล่นเพลง

}


Sound manager

ตัวอย่าง Sound Manager

ดูใน Ex17_TestSoundManager


Lab 9 10

Lab 9: เกมบวกลบคูณหารให้ได้ 10

สุพจน์ สวัตติวงศ์

อ. สุภัทรชัย พลศักดิ์

อ. เอกนรินทร์ คำคูณ


Sound on game

เงื่อนไขเกม

  • ให้ทำการบวก ลบ คูณ หาร ตัวเลข ระหว่าง 0-9 เพื่อให้ได้ 10 หากได้คะแนน 10 ให้คะแนนบวกเพิ่มขึ้นไป 100 คะแนน หากกดปุ่ม pass ก็ลบ 50 คะแนน


Sound on game

วิธีคิด

  • ให้ทำการ random ตัวเลข ระหว่าง 0-9 มา 4 ตัว

  • นำตัวเลขลากไปวางโดยใช้ mouse ลงในช่องที่ต้องการ และ Click เครื่องหมายที่ต้องการใช้ และนำตัวเลขไปใส่ในอีก 1 ช่อง

  • ให้ทำการคำนวณผลลัพธ์ แล้วให้ทำการลาก ผลลัพธ์ไปอยู่กับตัวเลขที่เหลือ

  • ทำจนกว่าตัวเลขตัวเดียว และหากตัวเลขนั้นมีค่า = 10ให้ทำการเพิ่มคะแนน 100 คะแนน หากไม่ให้ -50 คะแนน รวมถึงหากกดปุ่ม pass ให้ -50 คะแนนเช่นกัน


Sound on game

ตัวอย่างเกมลักษณะนี้ ไม่จำเป็นต้องมี เวลา กับ undo


  • Login