nooknazha โพสต์ 2018-6-22 19:49:23

[Renpy] 41. วิธีใส่ภาพ animation หลังตัวละครพูดจบ CTC

แก้ไขครั้งสุดท้ายโดย nooknazha เมื่อ 2018-6-22 19:52


41. วิธีใส่ภาพ animation หลังตัวละครพูดจบCTC

CTC ย่อมาจากคำว่า Click to Continue icon แปลง่ายๆมันก็คือสัญลักษณ์ที่จะแสดงขึ้นเพื่อให้เราคลิกอ่านประโยคคำพูดประโยคต่อไปของตัวละคร ถือเป็นการเพิ่มลูกเล่นอย่างนึงให้กับกรอบสนทนาค่ะ


ตัวอย่างการทำภาพ animation ใน renpy
เนื่องจากโปรแกรม renpy จะไม่อนุญาตให้นำภาพสกุล.git ที่เคลื่อนไหวมาใช้ได้ การสร้างภาพอนิเมชั่นในโปรแกรม renpyเราจำเป็นต้องสร้างภาพที่มีลักษณะการเคลื่อนไหวต่อเนื่องกัน(อย่างน้่อย3 ภาพ) มาบันทึกไว้เป็นสกุล .png ค่ะ

สำหรับภาพที่จะนำมาทำเป็น ctc หรือ ภาพ animationหลังคำพูดของตัวละคร เราควรออกแบบให้มีขนาดประมาณ 20*20 pt ถือว่าเป็นขนาดกำลังดีค่ะ ไม่เล็ก หรือใหญ่เกินไป(จะสร้างกี่ภาพก็ได้แล้วแต่ความขยัน แต่ส่วนใหญ่ก็สร้างไว้3 ภาพกำลังดี)

ในกรณีที่ภาพ animation ที่เราออกแบบนั้นเราต้องการให้มันหมุนวนๆ ซ้ำๆ อยู่กับที่ เราก็ควรใช้คำสั่ง rotate จาก transform มาใช้เพื่อให้ศูนย์กลางของภาพไม่เคลื่อน(คำสั่ง Rotate และ Transform มีทั้งในโปรแกรมPS และ AI)

(ภาพที่1)(จับภาพหมุนทีละ 45 องศา)

(ภาพที่2)


(ภาพที่3)


-------------------------------------------------------------------------
โค๊ดคำสั่งที่ใช้
ให้เปิดไฟล์ script.rpy ขึ้นมาและใส่โค๊ดเพื่อประกาศชื่อตัวแปรของ"ตัวละคร" ลงไปดังนี้ค่ะ
Code:

define b = Character('วัฏฏะ', color="#f8f092",
         ctc = Animation("ctc_1.png", 0.25,
                                 "ctc_2.png", 0.25,
                                 "ctc_3.png", 0.25, ))
หรือจะเขียนแบบนี้ก็ได้เหมือนกันค่ะ

init:
      $ b = Character('วัฏฏะ', color="#f8f092",
          ctc = Animation("ctc_1.png", 0.25,
                                 "ctc_2.png", 0.25,
                                 "ctc_3.png", 0.25, ))
***ตัวเลขด้านหลัง ( 0.25) คือระยะเวลาความเร็วต่อวินาทีที่จะให้แต่ละภาพเล่นวนซ้ำค่ะ

(ตัวอย่างการใส่โค๊ดในไฟล์ script.rpy)

ที่ label start ก็ใส่โค๊ดพูดของตัวละครตัวนั้นๆตามปกติ


(บันทึกไฟล์และรันเกมส์)

ในกรณีที่กำหนดให้ ตัวละครตัวนั้นๆ แสดงภาพความรู้สึกประกอบการพูดด้วย เราก็จะต้องใช้การเขียนโค๊ดอีกแบบค่ะ
Code:

init:
    $ p = Character('ปกิณกะ', color="#FCFC68",
               what_xpos = 5,
               
               ctc="ctc_animation",
               
               show_side_image=ConditionSwitch(
                  "pg == 'normal' ", "cha/dongmai_mini.png",
                  "pg == 'happy' ", "cha/dongmai_mini_smile.png",
                  None, Null(),
                  xalign=0.01, yalign=1.01))
image ctc_animation = Animation("menu/ctc_1_1.png", 0.20,
                                                 "menu/ctc_1_2.png", 0.20,
                                                 "menu/ctc_1_3.png", 0.20, )

(ตัวอย่างการใส่โค๊ดในไฟล์ script.rpy)
ใส่โค๊ดพูดของตัวละครตัวนั้นๆ "พร้อมภาพประกอบในกรอบ" ที่ label start

(บันทึกไฟล์และรันเกมส์)

และถ้าต้องการกำหนดตำแหน่งที่จะแสดงภาพ Animation ด้วย ก็ต้องเพิ่มโค๊ดลงไปดังนี้ค่ะ
Code:
<font size="4" face="Tahoma">
init:
    $ p = Character('ปกิณกะ', color="#FCFC68",
               what_xpos = 5,
               
               ctc="ctc_animation",ctc_position="fixed",
               
               show_side_image=ConditionSwitch(
                  "pg == 'normal' ", "cha/dongmai_mini.png",
                  "pg == 'happy' ", "cha/dongmai_mini_smile.png",
                  None, Null(),
                  xalign=0.01, yalign=1.01))
image ctc_animation = Animation("menu/ctc_1_1.png", 0.20,
                                                 "menu/ctc_1_2.png", 0.20,
                                                 "menu/ctc_1_3.png", 0.20,
                                                 xpos=0.85, ypos=0.95,
                                                 xanchor=1.0, yanchor=1.0 )
</font>(ตัวอย่างการใส่โค๊ดในไฟล์ script.rpy)

(บันทึกไฟล์และรันเกมส์)


ขอให้สนุกกับการทำเกมส์นะคะ


*********************************************
บทความโดย นุ้ก
ขอจบบทความแค่เพียงเท่านี้ แล้วพบกันใหม่บทความหน้าค่ะ ^^
(ขอสงวนสิทธิ์อนุญาตให้เผยแพร่เฉพาะในเว็บ www.graphicfufu.comเท่านั้น)

หน้า: [1]
ดูในรูปแบบกติ: [Renpy] 41. วิธีใส่ภาพ animation หลังตัวละครพูดจบ CTC