Thaigraph

 

   

ค้นหา
Thaigraph หน้าฟอรั่ม Ren'Py [renpy] วิธีทำ label Fight RPG
ดู: 3155|ตอบ: 5
go

[renpy] วิธีทำ label Fight RPG

Rank: 7Rank: 7Rank: 7

โพสต์เมื่อ 27-5-2013 16:01 |แสดงโพสต์ทั้งหมด
[renpy] วิธีทำ label Fight RPG
มันก็คือการสร้าง Label ฉากต่อสู้ขึ้นมา 1 ฉาก เมื่อเกมส์ดำเนินตามเนื้อเรื่องมาถึงช่วงๆหนึ่ง โปรแกรมก็จะวิ่งมาที่ Label ต่อสู้ตามที่เรากำหนดไว้ค่ะ


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


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




ขั้นตอนที่ 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()
คัดลอกไปที่คลิปบอร์ด

(ตัวอย่าง)



ขั้นตอนที่ 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!"
คัดลอกไปที่คลิปบอร์ด

(ตัวอย่าง)



รันโปรแกรมเพื่อดูผลลัพธ์


บทความโดย NOOKFUFU2

(ขอสงวนสิทธิ์ให้เผยแพร่เฉพาะในเว็บไทยกราฟเท่านั้น!!!)
ไฟล์แนบ: คุณจำเป็นต้องเข้าสู่ระบบก่อนจึงจะสามารถดูและดาวน์โหลดไฟล์แนบได้ หากยังไม่มีแอคเคานต์หรือยังไม่ได้เป็นสมาชิก กรุณาสมัครสมาชิก
บางบทความคุณจำเป็นต้องสมัครสมาชิกแบบ VIP และ SUPERVIP ถึงจะเข้าอ่านบทความได้

Rank: 1

โพสต์เมื่อ 12-6-2013 12:06 |แสดงโพสต์ทั้งหมด
เว็บนี้สอนสร้างเกมส์ด้วยหรอเนี่ยครับ สุดยอด

Rank: 1

โพสต์เมื่อ 1-7-2013 08:26 |แสดงโพสต์ทั้งหมด
แล้วทำให้เลือกท้าต่อสู้ยังไงและก็ใส่ตัวละครด้วยครับ ตอนนี้ติดมันเพราะทำได้

Rank: 2

โพสต์เมื่อ 18-7-2013 02:10 |แสดงโพสต์ทั้งหมด
Oh, My Gosh!!

Rank: 2

โพสต์เมื่อ 18-7-2013 02:11 |แสดงโพสต์ทั้งหมด
สอน โปรแกรมมิ่งด้วย

Rank: 1

โพสต์เมื่อ 26-2-2016 13:21 |แสดงโพสต์ทั้งหมด
เอาหลอดนี้ไปประยุคเป็นหลอดชีวิตประจำวันได้ปะคะแบบเกม dandelionได้ปะคะช่วยสอนระบบ simulator กน่อยได้ไหมมมมมมมคะ
คุณต้องเข้าสู่ระบบก่อนจึงจะสามารถตอบกลับ เข้าสู่ระบบ | สมัครสมาชิก


Thaigraph

GMT+7, 22-9-2019 00:30 , Processed in 0.170641 second(s), 20 queries .

Powered by Discuz! X1.5

© 2001-2010 Comsenz Inc. Thai Language by DiscuzThai! Team.

Top 10 Best Sellers in Clothing for 2017 Top 10 Best Sellers in Clothing Best Sellers in Clothing
Top 10 Best Sellers in Books reviewer 2017 Top 10 Best Sellers in Books Best Sellers in Books