03-19-2014, 01:36 AM
Simple Splash Screen ไตเติ้ลภาพโลโก้ ก่อนเข้าเมนูเกม สคริปต์เขียนโดย : LiTTleDRAgo ลิงค์ต้นฉบับ : http://littledrago.blogspot.com/2012/06/...creen.html (RMXP / RMVX / RMVXA) ข้อตกลงการนำไปใช้งาน : http://littledrago.blogspot.com/p/rpg-maker-script.html |
สกรีนช๊อต : |
เป็นการเปิดไตเติ้ลภาพโลโก้ ก่อนเริ่มเข้าเมนูเกม
และสามารถกด c ข้ามไตเติ้ลได้
โค๊ดสคริปต์
Code:
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
# [Xp/VX-VXA] Simple Splash Screen
# Version: 1.00
# Author : LiTTleDRAgo
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
#แทนค่าชื่อรูปที่ตั้งไว้ สามารถเปลี่ยนชื่อ s1 เป็นชื่ออื้นได้
SPLASH_IMAGE = 's1'
begin
sprite = Sprite.new
cache = defined?(Window_ActorCommand) ? Cache : RPG::Cache
#แทนค่ารูปนั้นเมื่ออยู่ในไฟล์ Picture
sprite.bitmap = cache.picture(SPLASH_IMAGE)
Graphics.transition
#เป็นเฟรม(40เฟรม =1วิ) แทนค่าด้วย i จะแสดงถึง120เฟรม
(0..120).each {|i| [Graphics,Input].each {|s| s.update}
#ภาพค่อยๆจางไปเรื่อยๆ(255 -5ไปเรื่อยๆ) เมื่อ i มากกว่า 40 เฟรม
sprite.opacity -= 5 if i > 40
#ถ้ากด c จะข้ามไตเติ้ลได้เลย หรือ ภาพนั้นจางหายไป เมื่อน้อยกว่าเท่ากับ0
break if Input.trigger?(Input::C) || sprite.opacity <= 0
}
sprite.dispose
end
วิธีการใช้งาน :
ให้ใส่โค๊ด ไว้ในช่องสคริปต์(F11)ระหว่าง Scene_Debug กับ Main
แล้วทำภาพLOGOมา1รูป ขนาด 640x480 ตั้งชื่อรูปเป็น s1
มาใส่ในไฟล์ Picture อยู่ใน
My Documents\RPGXP\ชื่อเกมเรา\Graphics\Pictures
โมเพิ่มเติม
สามารถใส่เสียงได้โดยใช้คำสั่งนี้ ทำให้มีเสียง ก็ต่อเมื่อถึงเฟรมที่ 5 แล้ว
Audio.me_play("Audio/ME/ชื่อเพลง", 100, 100) if i == 5
ไว้ข้างใต้ (0..120).each {|i| [Graphics,Input].each {|s| s.update}
ให้ใส่ไฟล์เสียง ตรง
My Documents\RPGXP\ชื่อเกมเรา\Audio\ME
ถ้าใส่หลายๆรูปซ้อนทับกัน แล้วค่อยหายไปที่ละรูป
ให้ปรับ (0..120).each {|i| [Graphics,Input].each
ตรง 120 เป็น 300 เพื่อขยายเฟรม
แล้วก็เขียนเพิ่มเป็นตรง
Show ContentSpoiler:
SPLASH_IMAGE = 's1'
SPLASH_IMAGE2 = 's2'
SPLASH_IMAGE3 = 's3'
sprite = Sprite.new
sprite2 = Sprite.new
sprite3 = Sprite.new
sprite.bitmap = cache.picture(SPLASH_IMAGE)
sprite2.bitmap = cache.picture(SPLASH_IMAGE2)
sprite3.bitmap = cache.picture(SPLASH_IMAGE3)
ตรง sprite.opacity -= 5 if i > 40 เปลี่ยนเป็น
sprite.opacity -= 10 if i > 180
sprite2.opacity -= 10 if i > 120
sprite3.opacity -= 10 if i > 60
โดยรูปที่3 จะเริ่มค่อยๆหาย ก็ต่อเมื่อถึง 60 เฟรมขึ้นไป ก็จะเห็น
รูปที่2 แล้วเริ่มค่อยๆหาย ก็ต่อเมื่อถึง 120 เฟรมขึ้นไป จะเห็นรูปที่1 แล้วเริ่มจางหายเฟรมที่180
sprite.dispose
sprite2.dispose
sprite3.dispose
SPLASH_IMAGE2 = 's2'
SPLASH_IMAGE3 = 's3'
sprite = Sprite.new
sprite2 = Sprite.new
sprite3 = Sprite.new
sprite.bitmap = cache.picture(SPLASH_IMAGE)
sprite2.bitmap = cache.picture(SPLASH_IMAGE2)
sprite3.bitmap = cache.picture(SPLASH_IMAGE3)
ตรง sprite.opacity -= 5 if i > 40 เปลี่ยนเป็น
sprite.opacity -= 10 if i > 180
sprite2.opacity -= 10 if i > 120
sprite3.opacity -= 10 if i > 60
โดยรูปที่3 จะเริ่มค่อยๆหาย ก็ต่อเมื่อถึง 60 เฟรมขึ้นไป ก็จะเห็น
รูปที่2 แล้วเริ่มค่อยๆหาย ก็ต่อเมื่อถึง 120 เฟรมขึ้นไป จะเห็นรูปที่1 แล้วเริ่มจางหายเฟรมที่180
sprite.dispose
sprite2.dispose
sprite3.dispose
Code:
break if Input.trigger?(Input::C) || sprite.opacity <= 0
Code:
break if Input.trigger?(Input::C) && i > 60 || sprite.opacity <= 0
ตอนกดข้าม ถ้าใส่เสียงไว้ อาจยังมีเสียงเล็ดลอดออกมานิดหน่อย(ถ้าเพลงยาวนะ) ให้เขียนเพิ่มเป็น
Code:
Audio.me_stop if Input.trigger?(Input::C) && i > 60 || sprite.opacity <= 0
break if Input.trigger?(Input::C) && i > 60 || sprite.opacity <= 0