sound on game
Download
Skip this Video
Download Presentation
Sound On Game

Loading in 2 Seconds...

play fullscreen
1 / 16

Sound On Game - PowerPoint PPT Presentation


  • 75 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Sound On Game' - morag


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
slide2
เสียงใน 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
slide4
การใช้งาน 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
slide5
การใช้งาน 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
slide6
การเขียนโปรแกรมเสียงโดยใช้ XACT
  • Method ที่ใช้ทำการโหลด เสียงที่ดีที่สุดคงไม่พ้น LoadContentซึ่งจะสร้าง Audio Engine, wave และ sound bank ในนี้ โดยประกาศตัวแปร AudioEngine, WaveBankและ SoundBank เป็น static ใน Class Game1
  • โดยAudioEngineเป็นตัวแปรที่เก็บค่า XACT Game Setting ไว้
  • ส่วนWaveBankและ SoundBank เป็นการบอก AudioEngineว่าไฟล์ไหนถูกเรียกใช้งาน
slide7
การเขียนโปรแกรมเสียงโดยใช้ XACT
  • ดูใน Ex16_SoundTest
  • ใน Class Game1 ให้ใส่ตัวแปรดังนี้
  • ใน Method LoadContentให้ใส่ดังต่อไปนี้

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

static SoundBanksoundBank;

static WaveBankwaveBank;

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

slide8
การเขียนโปรแกรมเสียงโดยใช้ 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

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

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

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

slide14
เงื่อนไขเกม
  • ให้ทำการบวก ลบ คูณ หาร ตัวเลข ระหว่าง 0-9 เพื่อให้ได้ 10 หากได้คะแนน 10 ให้คะแนนบวกเพิ่มขึ้นไป 100 คะแนน หากกดปุ่ม pass ก็ลบ 50 คะแนน
slide15
วิธีคิด
  • ให้ทำการ random ตัวเลข ระหว่าง 0-9 มา 4 ตัว
  • นำตัวเลขลากไปวางโดยใช้ mouse ลงในช่องที่ต้องการ และ Click เครื่องหมายที่ต้องการใช้ และนำตัวเลขไปใส่ในอีก 1 ช่อง
  • ให้ทำการคำนวณผลลัพธ์ แล้วให้ทำการลาก ผลลัพธ์ไปอยู่กับตัวเลขที่เหลือ
  • ทำจนกว่าตัวเลขตัวเดียว และหากตัวเลขนั้นมีค่า = 10ให้ทำการเพิ่มคะแนน 100 คะแนน หากไม่ให้ -50 คะแนน รวมถึงหากกดปุ่ม pass ให้ -50 คะแนนเช่นกัน
slide16
ตัวอย่างเกมลักษณะนี้ ไม่จำเป็นต้องมี เวลา กับ undo
ad