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

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

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

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

272

กระทู้

272

โพสต์

979

เครดิต

ผู้ดูแลระบบ

Rank: 9Rank: 9Rank: 9

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

animation_ctc_012.png
[Renpy] 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 องศา)
animation_ctc_02.png
(ภาพที่2)
animation_ctc_03.png

(ภาพที่3)
animation_ctc_04.png

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

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

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

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

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

  1. init:
  2.     $ p = Character('ปกิณกะ', color="#FCFC68",
  3.                what_xpos = 5,
  4.                
  5.                ctc="ctc_animation",
  6.                
  7.                show_side_image=ConditionSwitch(
  8.                     "pg == 'normal' ", "cha/dongmai_mini.png",
  9.                     "pg == 'happy' ", "cha/dongmai_mini_smile.png",
  10.                     None, Null(),
  11.                     xalign=0.01, yalign=1.01))
  12. image ctc_animation = Animation("menu/ctc_1_1.png", 0.20,
  13.                                                  "menu/ctc_1_2.png", 0.20,
  14.                                                  "menu/ctc_1_3.png", 0.20, )
คัดลอกไปที่คลิปบอร์ด

(ตัวอย่างการใส่โค๊ดในไฟล์ script.rpy)
animation_ctc_08.png
ใส่โค๊ดพูดของตัวละครตัวนั้นๆ "พร้อมภาพประกอบในกรอบ" ที่ label start
animation_ctc_09.png
(บันทึกไฟล์และรันเกมส์)
animation_ctc_010.png
และถ้าต้องการกำหนดตำแหน่งที่จะแสดงภาพ Animation ด้วย ก็ต้องเพิ่มโค๊ดลงไปดังนี้ค่ะ
Code:

  1. <font size="4" face="Tahoma">
  2. init:
  3.     $ p = Character('ปกิณกะ', color="#FCFC68",
  4.                what_xpos = 5,
  5.                
  6.                ctc="ctc_animation",ctc_position="fixed",
  7.                
  8.                show_side_image=ConditionSwitch(
  9.                     "pg == 'normal' ", "cha/dongmai_mini.png",
  10.                     "pg == 'happy' ", "cha/dongmai_mini_smile.png",
  11.                     None, Null(),
  12.                     xalign=0.01, yalign=1.01))
  13. image ctc_animation = Animation("menu/ctc_1_1.png", 0.20,
  14.                                                  "menu/ctc_1_2.png", 0.20,
  15.                                                  "menu/ctc_1_3.png", 0.20,
  16.                                                  xpos=0.85, ypos=0.95,
  17.                                                  xanchor=1.0, yanchor=1.0 )
  18. </font>
คัดลอกไปที่คลิปบอร์ด
(ตัวอย่างการใส่โค๊ดในไฟล์ script.rpy)
animation_ctc_011.png
(บันทึกไฟล์และรันเกมส์)
animation_ctc_012.png

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


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


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

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

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

GMT+7, 2024-4-19 11:30 , Processed in 0.280532 second(s), 29 queries .

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

© 2001-2017 Comsenz Inc.

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