PDA

View Full Version : ปัญหาเกมส์ช้ามากเมื่อรันเกมส์บนมือถือ, ปัญหาเกมส์ช้ามากเมื่อ



pawit1357
10-11-2004, 09:54 AM
คือ ผมเขียนเกมส์เป็นแนวที่มีการ map tiledLayer ไว้เยอะมาก นะครับ พอนำไปรันบนมือถือ ปรากฎว่ามันช้ามากจนทำอะไรไม่ได้เลย ไม่ทราบว่าพอจะมีวิธีแก้ไหมครับ รบกวนท่านผู้รู้ช่วยด้วยนะครับ ลักษณะเกมส์จะกำหนด tiled ขนาดกว้างเป็น 41*39
ซึ่งสร้างไว้เป็น array ดังนี้ครับ



int[]map = {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
}



ซึ่งมันทำให้ความกว้างหน้าจอยาวมากถึง 1025 pixel นะครับ
(เกมส์ที่เขียน ใช้ midlet 2.0 รันบน nokia 6600 ครับ)

pawit1357
10-11-2004, 09:55 AM
ผมลองเปลี่ยนเป็น แยก


CODE

int[]map1 = {1,1,1,1,
1,1,1,1
1,1,1,1,
1,1,1,1,
1,1,1,1,
}
int[]map2 = {1,1,1,1,
1,1,1,1
1,1,1,1,
1,1,1,1,
1,1,1,1,
}
int[]map2 = {1,1,1,1,
1,1,1,1
1,1,1,1,
1,1,1,1,
1,1,1,1,
}





แล้วสร้าง TiledLayer มา 3 ตัวแทน นะ ครับ เป็น TiledLayer floor1,floo2,floor3

ซึ่งผมจะกำหนดทุกตัวให้ Ex. floor1.setVisible(false)
floor2.setVisible(false)
floor3.setVisible(false)
ให้เมื่อตัวละครยังเดินถึงส่วนที่กำหนดถึงจะ set ให้เป็น true
วิธีการนี้ดีไหมครับ?
ไม่ทราบวิธีการ floor3.setVisible(false) มันจะเปลืองไปไหมครับ?
แล้วขนาดหน้าจอที่เราจะสามารถกำหนดได้นั้น กำหนดไว้สูงสุดได้เท่าไหร่ครับ ในแต่แนะแกน?

labyrinth
13-11-2004, 02:56 AM
แบ่งโหลดครับ
tile เป็นแบบ no transparent
ถ้าต้องการความเร็วก็แบ่ง tile ออกเป็นภาพเล็กๆหลา่ยๆภาพ แต่จะทำให้มีขนาดใหญ่มากขึ้น
เขีบนแบบให้ใช้ความเป็น oop ให้น้อยที่สุด เพื่อความเร็ว
และอื่นๆ...

pawit1357
14-11-2004, 12:36 PM
ขอบคุณมากครับ สำหรับคำแนะนำ