anime13master   07-12-2013, 08:36 PM
หาสาเหตุที่ทำให้แล๊กในฉากแผนที่เจอแล้วครับ หะหะ...

เป็นที่ส่วน HUD โชว์ชื่อแผนที่ของผมเองครับ

HUD ของผมจะเช็คชื่อแผนที่อยู่ตลอดเวลาที่อยู่ในซีนฉากเดิน ถ้าเปลี่ยนแผนที่ชื่อแผนที่ก็จะเปลี่ยน ผมก็สั่งให้ HUD มันรีเฟรชทีนึง

รีเฟรช HUD นี้เมื่อเปลี่ยนแมพเท่านั้น ฟังดูแล้วก็ไม่น่าจะแล๊กชิมิครับ

แต่ทีนี้...เรามาดูตัวนี้...

Code:
class Game_Map
attr_reader   :map_id  
def mpname
$mpname = load_data("Data/MapInfos.rxdata")
$mpname[@map_id].name
end
end
ทุกครั้งที่มีการเช็คชื่อแผนที่ มันจะโหลดไฟล์ MapInfos.rxdata มาเก็บใส่ตัวแปรครับ...

หา? HUD ของผมเช็คชื่อแผนที่ทุกเฟรม ก็เท่ากับมันโหลดไฟล์นี้มาเก็บใส่ตัวแปรมันทุกเฟรม???

มันก็แล๊กน่ะสิฟร้าาาาาาาาาาาาาาาาา!!

ผมเลยแก้ไขด้วยวิธีนี้

Code:
############
# Game_Map #
############
class Game_Map
attr_reader   :map_id  
def mpname
$mpname = load_data("Data/MapInfos.rxdata") if $mpname == nil
$mpname[@map_id].name
end
end
ให้โหลดไฟล์ MapInfos.rxdata มาเก็บในตัวแปรเฉพาะกรณีที่หาตัวแปรนี้ไม่เจอเท่านั้น

เท่ากับว่าหลังจากโหลดชื่อแผนที่เก็บไว้หนนึงแล้ว จะไม่มีการโหลดอีกในการเรียกเช็คชื่อแผนที่ครั้งต่อไป

ผลจากการทดสอบ ลื่นไหลขึ้นมาพอสมควรครับ ^ ^

ไว้ค่อยไปทดสอบที่ร้านที่เคยลองแล้วแล๊กต่อ หวังว่าจะได้ผลออกมาเป็นที่น่าพอใจ เหอเหอ...
  
Users browsing this thread: 1 Guest(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.