|
แก้ไขครั้งสุดท้ายโดย nooknazha เมื่อ 2018-5-23 21:39
[Renpy] 14. ลูกเล่นการเปลี่ยนฉาก (Pre-Defined Transitions )
เป็นคำสั่งลูกเล่นแบบต่างๆ ที่เราต้องการสร้างความน่าสนใจเวลาเปลี่ยนภาพตัวละคร หรือภาพพื้นฉากแต่ละภาพนะค่ะ ซึ่งโปรแกรม renpy ก็มีมาให้เลือกใช้หลายคำสั่งด้วย
1. fade ทำให้ภาพค่อยๆจางหาย
ฟังก์ชั่น Function: Fade (out_time, hold_time, in_time, old_widget=None, new_widget=None, color=None, widget=None):
ตัวอย่างโค๊ด:
- init:
- $ fade = Fade(.5, 0, .5) # Fade to black and back.
- scene bg washington with fade
คัดลอกไปที่คลิปบอร์ด
2. dissolve ทำให้ภาพค่อยๆจางหายคล้ายกับแบบ fade
ฟังก์ชั่น Function: Dissolve (time, old_widget=None, new_widget=None, alpha=False):
ตัวอย่างโค๊ด:
- init:
- $ dissolve = Dissolve(0.5)
- $ e = Character('NOOKFUFU2', color="#c8ffc8")
- image dongmai_02 = "cha/dongmai_02.png"
- label start:
- show dongmai_02 with dissolve
- e "ไง...สวัสดี!"
- return
คัดลอกไปที่คลิปบอร์ด
3. pixellate ทำให้ภาพแตกเหมือนภาพแบบ Pixel
ฟังก์ชั่น Function: Pixellate (time, steps, old_widget=None, new_widget=None):
ตัวอย่างโค๊ด:
- init:
- $ pixellate = Pixellate(1.0, 5)
- $ e = Character('NOOKFUFU2', color="#c8ffc8")
- image dongmai_02 = "cha/dongmai_02.png"
- label start:
- show dongmai_02 with pixellate
- e "ไง...สวัสดี!"
- return
คัดลอกไปที่คลิปบอร์ด
4. move ทำให้ภาพตัวละครเคลื่อนย้ายไปที่มุมใดมุมหนึ่ง หรือตำแนห่งใด ตำแนห่งหนึ่ง
ฟังก์ชั่น Function: Move (startpos, endpos, time, repeat=False, bounce=False, time_warp=None, **properties):
ตัวอย่างโค๊ด:
- init:
- $ move = MoveTransition(0.5)
- $ e = Character('NOOKFUFU2', color="#c8ffc8")
- image dongmai_02 = "cha/dongmai_02.png"
- label start:
- show dongmai_02 at center with move
- show dongmai_02 at right with move
- show dongmai_02 at left with move
- show dongmai_02 at Move((0.0, 0.0), (1.0, 1.0), 10.0,
- xanchor="center", yanchor="center")
- e "ไง...สวัสดี!"
- return
คัดลอกไปที่คลิปบอร์ด
5. moveinright, moveinleft, moveintop, moveinbottom
เป็นการสั่งย้ายภาพพื้นฉากหลังขนาดใหญ่ เลื่อนเข้ามาหยุดตรงมุมที่ต้องการเช่น มุมซ้าย ขวา บน ล่าง (ใช้เวลาเลื่อน 0.5 วินาที)
ตัวอย่างโค๊ด:
- init:
- $ e = Character('NOOKFUFU2', color="#c8ffc8")
- image dongmai_02 = "cha/dongmai_02.png"
- image bg_star = "cha/bg_star.jpg"
- label start:
- scene bg_star with moveinright #<---นำภาพเข้า
- show dongmai_02
- e "ไง...สวัสดี!"
- return
คัดลอกไปที่คลิปบอร์ด
6. moveoutright, moveoutleft, moveouttop, moveoutbottom
เป็นการสั่งย้ายภาพพื้นฉากหลังขนาดใหญ่ เลื่อนออกไปทางตรงมุมที่ต้องการเช่น มุมซ้าย ขวา บน ล่าง (ใช้เวลาเลื่อน 0.5 วินาที)
ตัวอย่างโค๊ด:
- init:
- $ e = Character('NOOKFUFU2', color="#c8ffc8")
- image dongmai_02 = "cha/dongmai_02.png"
- image bg_star = "cha/bg_star.jpg"
- label start:
- scene bg_star with moveinbottom
- show dongmai_02
- e "ไง...สวัสดี!"
- hide bg_star with moveoutbottom #<-------ย้ายภาพออก
- return
คัดลอกไปที่คลิปบอร์ด
7. ease, easeinright, easeinleft, easeintop, easeinbottom, easeoutright, easeoutleft, easeouttop, easeoutbottom
คล้ายกับการย้ายภาพแบบข้อ 6. แต่จะนิ่มนวลกว่า
ตัวอย่างโค๊ด:
- label start:
- scene bg_star
- show dongmai_02
- e "ไง...สวัสดี!"
- hide bg_star with easeoutright
- return
คัดลอกไปที่คลิปบอร์ด
8. zoomin
ใช้ซูมภาพพื้นหลังให้ขยายออกจนเต็มพอดีกับพื้นฉาก (ใช้เวลา 0.5 วินาที)
ตัวอย่างโค๊ด:
- label start:
- scene bg_star with zoomin #<---------
- show dongmai_02
- e "ไง...สวัสดี!"
- hide bg_star
- return
คัดลอกไปที่คลิปบอร์ด
9. zoomout
ใช้ย่อภาพพื้นหลังให้หดลงเล็กลงจนหายไปจากหน้าจอ (ใช้เวลา 0.5 วินาที)
ตัวอย่างโค๊ด:
- label start:
- scene bg_star with zoomin
- show dongmai_02
- e "ไง...สวัสดี!"
- hide bg_star with zoomout #<---------
- e "ไง...สวัสดี!"
- return
คัดลอกไปที่คลิปบอร์ด
10. zoominout
ใช้ซูมภาพพื้นหลังที่มีขนาดใหญ่เข้าและออก เช่น เมื่อถึงคำสั่งภาพจะขยายออกจนแสดงเต็มจอ และเมื่อคลิกเม้าส์อีกครั้งภาพจะย่อลงและหายไปจากหน้าจอ
ตัวอย่างโค๊ด:
- label start:
- scene bg_star with zoominout #<--------
- show dongmai_02
- e "ไง...สวัสดี!"
- return
คัดลอกไปที่คลิปบอร์ด
11. vpunch
ทำให้ภาพเขย่าเบาๆ
ตัวอย่างโค๊ด:
- label start:
- scene bg_star with vpunch
- show dongmai_02 with vpunch
- e "ไง...สวัสดี!"
- return
คัดลอกไปที่คลิปบอร์ด
12. hpunch
ทำให้ภาพสั่นสะเทือนแรงๆ คล้ายแผ่นดินไหว
ตัวอย่างโค๊ด:
- label start:
- scene bg_star with hpunch
- show dongmai_02 with hpunch
- e "ไง...สวัสดี!"
- return
คัดลอกไปที่คลิปบอร์ด
13. blinds
ภาพจะค่อยๆ เปลี่ยนแบบกลับด้านเป็นแถบแนวตั้ง
ตัวอย่างโค๊ด:
- label start:
- scene bg_star with blinds
- show dongmai_02 with blinds
- e "ไง...สวัสดี!"
- return
คัดลอกไปที่คลิปบอร์ด
ผลลัพธ์....
14. squares
ภาพค่อยๆเปลี่ยนแบบช่องตารางสี่เลหี่ยม
ตัวอย่างโค๊ด:
- label start:
- scene bg_star with squares
- e "ไง...สวัสดี!"
- return
คัดลอกไปที่คลิปบอร์ด
ผลลัพธ์....
15. wiperight
ภาพพื้นหลังค่อยๆแสดงจาดซ้ายไปขวา
ตัวอย่างโค๊ด:
- label start:
- scene bg_star with wiperight
- e "ไง...สวัสดี!"
- return
คัดลอกไปที่คลิปบอร์ด ผลลัพธ์....
16. wipeleft
เหมือนกับแบบข้อ 15 เพียงแต่แสดงจากขวาไปซ้าย
ตัวอย่างโค๊ด:
- label start:
- scene bg_star with wipeleft
- e "ไง...สวัสดี!"
- return
คัดลอกไปที่คลิปบอร์ด
17. wipeup
เหมือนกับแบบข้อ 15 เพียงแต่แสดงจากล่างขึ้นบน
ตัวอย่างโค๊ด:
- label start:
- scene bg_star with wipeup
- e "ไง...สวัสดี!"
- return
คัดลอกไปที่คลิปบอร์ด
18. wipedown
เหมือนกับแบบข้อ 15 เพียงแต่แสดงจากบนลงล่าง
ตัวอย่างโค๊ด:
- label start:
- scene bg_star with wipedown
- e "ไง...สวัสดี!"
- return
คัดลอกไปที่คลิปบอร์ด
19. slideright
ภาพค่อยๆเลื่อนจากด้านขวา ไปซ้าย
ตัวอย่างโค๊ด:
- label start:
- scene bg_star with slideright
- e "ไง...สวัสดี!"
- return
คัดลอกไปที่คลิปบอร์ด
ผลลัพธ์....
20. slideleft
แบบข้อ 19 เพียงแต่ภาพจะเลื่อนจากขวาไปซ้าย
21. slideup
แบบข้อ 19 เพียงแต่ภาพจะเลื่อนจากล่างขึ้นบน
22. slidedown
แบบข้อ 19 เพียงแต่ภาพจะเลื่อนจากบนลงล่าง
23. slideawayright
ย้ายภาพออกไปจากหน้าจอ จากซ้ายไปขวา
ฟังก์ชั่น Function: CropMove (time, mode='fromleft', startcrop=(0.0, 0.0, 0.0, #0), startpos=(0.0, 0.0), endcrop=(0.0, 0.0, #0, #0), endpos=(0.0, 0.0), topnew=True, old_widget=None, new_widget=None):
ตัวอย่างโค๊ด:
- init:
- $ wiperight = CropMove(1.0, "wiperight")
- $ wipeleft = CropMove(1.0, "wipeleft")
- $ wipeup = CropMove(1.0, "wipeup")
- $ wipedown = CropMove(1.0, "wipedown")
- $ slideright = CropMove(1.0, "slideright")
- $ slideleft = CropMove(1.0, "slideleft")
- $ slideup = CropMove(1.0, "slideup")
- $ slidedown = CropMove(1.0, "slidedown")
- $ slideawayright = CropMove(1.0, "slideawayright")
- $ slideawayleft = CropMove(1.0, "slideawayleft")
- $ slideawayup = CropMove(1.0, "slideawayup")
- $ slideawaydown = CropMove(1.0, "slideawaydown")
- $ irisout = CropMove(1.0, "irisout")
- $ irisin = CropMove(1.0, "irisin")
- e "The CropMove transition class lets us provide a wide
- range of transition effects."
- hide eileen with dissolve
- e "I'll stand offscreen, so you can see some of its modes. I'll read
- out the mode name after each transition."
- scene bg whitehouse with wiperight
- e "We first have wiperight..."
- scene bg washington with wipeleft
- e "...followed by wipeleft... "
- scene bg whitehouse with wipeup
- e "...wipeup..."
- scene bg washington with wipedown
- e "...and wipedown."
- e "Next, the slides."
- scene bg whitehouse with slideright
- e "Slideright..."
- scene bg washington with slideleft
- e "...slideleft..."
- scene bg whitehouse with slideup
- e "...slideup..."
- scene bg washington with slidedown
- e "and slidedown."
คัดลอกไปที่คลิปบอร์ด
24. slideawayleft
เหมือนข้อ 23. เพียงแต่ย้ายจากขวาไปซ้าย
25. slideawayup
เหมือนข้อ 23. เพียงแต่ย้ายจากล่างขึ้นบน
26. slideawaydown
เหมือนข้อ 23. เพียงแต่ย้ายจากบนลงล่าง
27. irisout
ภาพแผ่กางออกจากจุดศูนย์กลาง
ฟังก์ชั่น Function: CropMove (time, mode='fromleft', startcrop=(0.0, 0.0, 0.0, #0), startpos=(0.0, 0.0), endcrop=(0.0, 0.0, #0, #0), endpos=(0.0, 0.0), topnew=True, old_widget=None, new_widget=None):
ตัวอย่างโค๊ด:
- label start:
- scene bg_star with irisout
- e "ไง...สวัสดี!"
- return
คัดลอกไปที่คลิปบอร์ด ผลลัพธ์....
28. irisin
ตรงข้ามกับข้อ 27.
ฟังก์ชั่น Function: CropMove (time, mode='fromleft', startcrop=(0.0, 0.0, 0.0, #0), startpos=(0.0, 0.0), endcrop=(0.0, 0.0, #0, #0), endpos=(0.0, 0.0), topnew=True, old_widget=None, new_widget=None):
ตัวอย่างโค๊ด:
- label start:
- scene black
- scene bg_star with irisin
- e "ไง...สวัสดี!"
- return
คัดลอกไปที่คลิปบอร์ด ผลลัพธ์....
29. ImageDissolve
ถ้าใช้คำสั่ง show ภาพจะเริ่มจากฉากสีดำค่อยๆละลายกลายเป็นภาพฉากสี ถ้าใช้คำสั่ง hide ภาพพื้นฉากจะละลายกลายเป็นสีดำ
ฟังก์ชั่น Function: ImageDissolve(image, time, reverse=False, old_widget=None, new_widget=None):
ตัวอย่างโค๊ด:
- init:
- $ old = ImageDissolve("cha/bg_star.jpg", 1.0 ,8, reverse =True)
- label start:
- show bg_star with old
- e "ไง...สวัสดี!"
- hide bg_star with old
- return
คัดลอกไปที่คลิปบอร์ด
ผลลัพธ์....
30. Revolve
ทำให้ภาพหมุนเป็นรูปวงกลม
Function:Revolve(start, end,time, around=(0.5, 0.5), cor=(0.5, 0.5), **kwargs):
ตัวอย่างโค๊ด:- init:
- $ e = Character('NOOKFUFU2', color="#c8ffc8")
-
- image bg_star = "cha/bg_star.jpg"
- image magic = "cha/magic.png"
- label start:
- scene bg_star
- show magic at Position(xpos=200, ypos=150), Revolve(0, 360, 2)
- e "ไง...สวัสดี!"
- hide bg_star
- return
คัดลอกไปที่คลิปบอร์ด ผลลัพธ์....ภาพวงแหวนสวัสดิกะจะหมุนวน
31. MultipleTransition เป็นการนำคำสั่งหลายๆตัวมาใช้ร่วมกัน
ฟังก์ชั่น Function: Fade (out_time,hold_time, in_time, old_widget=None, new_widget=None, color=None,widget=None):
ตัวอย่างโค๊ด:
- init:
- $ teleport = MultipleTransition([False, dissolve, "#fff", dissolve, False,
- dissolve, "#fff", dissolve,
- True, dissolve, "#fff", dissolve, True]) #<------
- $ e = Character('NOOKFUFU2', color="#c8ffc8")
-
- image bg_star = "cha/bg_star.jpg"
- image magic = "cha/magic.png"
-
- label start:
- scene bg_star with teleport #<------
-
- e "ไง...สวัสดี!"
- hide bg_star with old
-
- return
คัดลอกไปที่คลิปบอร์ด
ทำให้เกิดสีกระพริบเป็นสีต่างๆรัวๆก่อนจะเปลี่ยนเข้าสู่ภาพฉากจริง
ลองนำไปประยุกต์ดูนะค่ะ
ดูตัวเต็มของทุกคำสั่งได้ที่นี่ค่ะ http://www.renpy.org/wiki/renpy/doc/reference/Transitions
บทความโดย นุ้ก
ขอจบบทความแค่เพียงเท่านี้ แล้วพบกันใหม่บทความหน้าค่ะ ^^
(ขอสงวนสิทธิ์อนุญาตให้เผยแพร่เฉพาะในเว็บ www.graphicfufu.comเท่านั้น)
|
|