Copyright © All rights reserved | This template is made with by Colorlib

Next Big Event:

บทความในหมวด

DARKBASIC TUTORIALS

Darkbasic Tutorials

Motorway 2D Game Programming ตอนที่ 2

2010-05-04 Games 1,852

ในตอนแรกเราได้ทำในส่วนของ Game Play ไปซึ่งยังขาดอยู่อีก 3 เรื่องคือ Effect , Sound และ Animation Balancing

 

ในตอนนี้เราจะมาดูกันเรื่อง Effect และ Sound กันก่อนครับ

 

1. เพิ่มส่วน effect จากคำสั่ง create animated sprite

 

อย่าลืมที่จะกำหนดเลข sprite และเลข image ให้กับ effect ของเราด้วยนะครับ (ในที่นี้กำหนดให้เป็นเลขเดียวกัน)

 

rem กำหนดเลขประจำตัวของกรอปแสดงภาพ
road1=1
road2=2
player_car=3
other_car1=4
effect=5
sprite road1,0,0,road
sprite road2,0,0,road
sprite player_car,106,320,car
sprite other_car1,0,0,car
create animated sprite effect,"images/explosion216_black.jpg",4,4,effect
rem ซ่อนภาพที่โหลด
Hide all sprites

rem ส่วนเพลงประกอบและเสียงeffect
bg_music=1
load music "sound/bg.mid",bg_music
eff_carscreech=1
eff_bomb=2
load sound "sound/carscreech.wav",eff_carscreech
load sound "sound/bomb.wav",eff_bomb

 

2. นำ effect และ sound ไปใช้งานใส่ส่วนที่รถชนกัน

 

if sprite hit(player_car,other_car1)
   rem ใช้ ChkSoundEffect มาช่วยให้เล่นเสียงเพียงครั้งเดียว
   if ChkSoundEffect=0
      play sound eff_carscreech
      play sound eff_bomb
      ChkSoundEffect=1
   endif
   set sprite effect,0,1
   SCALE SPRITE effect, 10
   paste sprite effect,SPRITE X(player_car)-SPRITE WIDTH(effect)/2,SPRITE Y(player_car)-SPRITE height(effect)/2
   rem กำหนดเงื่อนไขเพื่อให้แสดง effect เพียงครั้งเดียว
   if SPRITE FRAME(effect)<>8
   play sprite effect,1,8,100
   endif
   GameOver=1
   CENTER text 125,100,"Game Over"
   CENTER text 125,130,"Press Spacebar To Play Again"
   CENTER text 125,160,"Press Esc To Exit"
   if spacekey()
      rem กำหนดค่าตัวแปรทุกตัวกลับไปยังตอนเริ่มเล่น
      P_PosX#=106.0
      O1_PosX#=41.0+SPRITE WIDTH(other_car1)+rnd(169-41)
      O1_PosY#=0-sprite height(other_car1)
      Score=0
      SET SPRITE FRAME effect,1
      ChkSoundEffect=0
      GameOver=0
   endif
endif

 

3. เพิ่ม Title ก่อนเริ่มเกม

 

rem เมื่อรันโปรแกรมให้เข้าสู่โหมด Title ก่อน ซึ่งเราอาจจะแยกเป็นแบบ gosub ออกไปจากส่วน do...loop ก็ได้
TitleMode=1
do
   if TitleMode=1
      paste sprite Road1,0,PosY#
      CENTER text 125,130,"Press Spacebar To Start"
      CENTER text 125,160,"Press Esc To Exit"
      CENTER text 125,370,"www.games101.exteen.com"
      if spacekey()
      TitleMode=0
      endif
   endif
   if TitleMode=0
      rem วาดฉากและเลื่อนฉาก
      gosub ShowRoad
      rem ส่วนควบคุมรถผู้เล่น
      gosub PlayerControl
      rem ส่วนควบคุมรถคันอื่น,เช็คเงื่อนไขคะแนนและการจบเกม
      gosub OtherCar
      rem เพิ่ม speed เมื่อคะแนนมากขึ้น
      speed#=0.01*score
      rem แสดงคะแนน
      text 3,3,"Score : "+Str$(score)
   endif
   rem เล่นเพลง bg ตลอด
   loop music bg_music
loop


| Darkbasic Tutorials

เข้าชมแล้ว 2,930,316 ครั้ง | ทั้งเว็บออนไลน์   1 ท่าน | หน้านี้ออนไลน์   1 ท่าน
Page generated in 0.0413 seconds ! ( 13 query)