บทความสอนกราฟิก

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 4648|ตอบกลับ: 0

[Renpy] 71. วิธีทำ label (ค่าพลัง) Fight RPG

[คัดลอกลิงก์]

272

กระทู้

272

โพสต์

979

เครดิต

ผู้ดูแลระบบ

Rank: 9Rank: 9Rank: 9

เครดิต
979
RPG_Frame_03.png
[Renpy] 71. วิธีทำ label (ค่าพลัง) Fight RPGมันก็คือการสร้าง Label ฉากต่อสู้ขึ้นมา 1 ฉาก เมื่อเกมส์ดำเนินตามเนื้อเรื่องมาถึงช่วงๆหนึ่ง โปรแกรมก็จะวิ่งมาที่ Label ต่อสู้ตามที่เรากำหนดไว้ค่ะ

***โค๊ดตัวอย่างด้านล่างจะเป็นเพียงแนวทางให้นำไปประยุกต์ใช้เท่านั้น***

ขั้นตอนที่ 1
- ให้เตรียมภาพสำหรับเป็นแถบเลือด หรือแถบค่าพลังของตัวละครค่ะ (ถ้าไม่มี หรือยังไม่ได้ทำไว้ ก็ให้โหลดภาพทั้ง 2 ได้ที่ด้านล่างสุดบทความเอาไปใช้ก่อนก็ได้ค่ะ ^^)
- นำภาพทั้ง 2 มาใส่ไว้ที่แฟ้มเกมส์ของเรา

RPG_Frame_04.png

undefined
ขั้นตอนที่ 2
- ให้นำโค๊ดด้านล่างนี้ไปใส่ที่บรรทัดล่างสุดของไฟล์ Options.rpy ที่อยู่ในแฟ้มเกมส์ "game" ของเรา (หรือไฟล์ชื่ออะไรก็ได้ แต่ต้องมีสกุลเป็น .rpy )


  1. init python:
  2.     def stats_frame(name, level, hp, maxhp, **properties):
  3.    
  4.         ui.frame(xfill=False, yminimum=None, **properties)
  5.    
  6.         ui.hbox() # (name, "HP", bar) from (level, hp, maxhp)
  7.         ui.vbox() # name from ("HP", bar)
  8.    
  9.         ui.text(name, size=20)
  10.    
  11.         ui.hbox() # "HP" from bar
  12.         ui.text("HP", size=20)
  13.         ui.bar(maxhp, hp,
  14.                 xmaximum=150,
  15.                 left_bar=Frame("rrslider_full.png", 12, 0),
  16.                 right_bar=Frame("rrslider_empty.png", 12, 0),
  17.                 thumb=None,
  18.                 thumb_shadow=None)
  19.    
  20.         ui.close()
  21.         ui.close()
  22.    
  23.         ui.vbox() # Level from (hp/maxhp)

  24.         ui.text("Lv. %d" % level, xalign=0.5, size=20)
  25.         ui.text("%d/%d" % (hp, maxhp), xalign=0.5, size=20)
  26.    
  27.         ui.close()
  28.         ui.close()
คัดลอกไปที่คลิปบอร์ด

(ตัวอย่าง)
RPG_Frame_01.png

ขั้นตอนที่ 3
- เปิดไฟล์ Script.rpy ขึ้นมาและให้ใส่โค๊ดแทรกไว้ดังนี้ (หรือจะเอาไว้ที่ไฟล์ชื่ออะไรก็ได้ ขอเพียงให้มี สกุล.rpy ต่อท้าย โปรแกรมมันจะได้วิ่งหา label ตัวนี้เจอ)


  1. label start:
  2.     with None
  3.     jump fight
  4.    
  5. label fight:
  6.     python:
  7.         charmax_HP = 1000
  8.         char_HP = 1000
  9.         
  10.         tigermax_HP = 2000
  11.         tiger_HP = 2000
  12.         
  13.         while True:
  14.             while tiger_HP >= 1000:
  15.                 tiger_HP = tiger_HP - 10
  16.                 stats_frame("Tiger", 4, tiger_HP, tigermax_HP, xalign=0.75, yalign=0.0)
  17.                 stats_frame("Hero", 1, 86, 86, xalign=0.0, yalign=0.0)
  18.                 renpy.pause(0.05)
  19.             break
  20.     "Tiger" "Gao gao! You're strong!"
คัดลอกไปที่คลิปบอร์ด
(ตัวอย่าง)
RPG_Frame_02.png
รันโปรแกรมเพื่อดูผลลัพธ์
RPG_Frame_03.png
ขอให้สนุกกับการสร้างเกมส์นะค่ะ^^"
******************************
บทความโดย นุ้ก
ขอจบบทความแค่เพียงเท่านี้ แล้วพบกันใหม่บทความหน้าค่ะ ^^
(ขอสงวนสิทธิ์อนุญาตให้เผยแพร่เฉพาะในเว็บ www.graphicfufu.comเท่านั้น)

rrslider_full.png
rrslider_empty.png
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

รายละเอียดเครดิต

ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|GraphicFUFU

GMT+7, 2024-3-29 05:08 , Processed in 0.104847 second(s), 21 queries .

Powered by Discuz! X3.4 R20180101, Rev.59

© 2001-2017 Comsenz Inc.

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้