วิธีการอินพุตที่เหมาะสมสำหรับการใช้กับ platformer 2D บนอุปกรณ์สัมผัสคืออะไร?


16

ฉันกำลังสร้างเกม platformer 2d เช่น Super Meat Boy ที่มีความแม่นยำในการเคลื่อนไหวของตัวละครหลักของฉัน ฉันใช้ libgdx การควบคุมแป้นพิมพ์บนพีซีทำงานได้อย่างแม่นยำ แต่เมื่อพูดถึงการจัดการกับ accelerometer มันยากที่จะจัดการกับตัวละครอย่างแม่นยำ สิ่งนี้แย่ลงเป็นระยะ ๆ ด้วยเส้นทางที่ปลอดภัยที่แออัดเพื่อหลบหนี ฉันคิดถึงการนำลูกบอลอะนาล็อกบนหน้าจอมาใช้ในการจัดการอินพุต แต่อ่านผลกระทบที่เลวร้ายมากมายบนอินเทอร์เน็ต

วิธีการป้อนข้อมูลที่ใช้งานง่าย แต่แม่นยำในการใช้สำหรับเกม platformer บนอุปกรณ์ระบบสัมผัสคืออะไร

คำตอบ:


7

สรุป: รูด

ฉันเล่นรุ่นแชมป์ Pac-Man บนโทรศัพท์ Android ของฉันและสิ่งที่ฉันคิดว่าใช้งานได้จริงก็คือในขณะที่มีจอยสติ๊กบนหน้าจอคุณไม่จำเป็นต้องแตะมันเพื่อย้าย Pac-Man ในทิศทางที่เหมาะสม หากนิ้วของคุณตกลงจากก้านควบคุมมันก็ไม่เป็นไร สิ่งที่สำคัญคือทิศทางที่คุณขยับนิ้วของคุณ

หากต้องการเลื่อนขึ้นปัดขึ้น หากต้องการเลื่อนลงให้ปัดลง หากต้องการเลื่อนไปทางซ้ายให้ปัดไปทางซ้าย หากต้องการเลื่อนไปทางขวาให้ปัดไปทางขวา

คุณสามารถทำให้บริบทการปัดไวต่อภูมิภาคและการกระทำที่เกิดขึ้นภายในเกมได้ง่ายขึ้น ลองนึกภาพโทรศัพท์ของคุณอยู่ในโหมดแนวนอนและคุณกำลังถือเหมือนตัวควบคุมวิดีโอเกม ครึ่งซ้ายของหน้าจอสามารถสำรองไว้สำหรับการเคลื่อนไหวโดยใช้การปัดที่ฉันอธิบายข้างต้น ครึ่งขวาของหน้าจอสามารถใช้สำหรับการดำเนินการเช่นการกระโดดการยิงการป้องกันสิ่งที่ความสามารถในการเล่นเกมที่คุณต้องการให้ผู้เล่นของคุณใช้การปัดในแบบที่คล้ายกันมาก หรือถ้าคุณมีความสามารถเพียงอย่างเดียว (เช่นการกระโดดใน Super Meat Boy) - เพียงแค่ถือครึ่งขวาของหน้าจอเป็นปุ่ม

ปรับปรุง

เรากำลังพูดถึงเรื่องนี้ในการแชทและดูเหมือนว่าทางออกของฉันวิธีที่อธิบายไว้ข้างต้นนั้นเหมือนกับแท่งเสมือนจริงที่เคลื่อนไหวเมื่อคุณยกขึ้นและวางนิ้วของคุณ ฉันต้องการอธิบายอย่างละเอียดว่านี่ไม่ใช่กรณีและจริง ๆ แล้วมีความยืดหยุ่นมากกว่านั้น

Pacman การปัด

ภาพด้านบนแสดงรูปแบบการปัดแบบหนึ่งที่สามารถทำได้เพื่อย้าย Pacman ไปรอบ ๆ บนกระดาน โปรดทราบว่าการกระทำที่เกิดขึ้นนั้นไม่ได้ขึ้นอยู่กับที่คุณวางนิ้วมือลงในครั้งแรก หากคุณเผลอเลื่อนนิ้วของคุณไปไกลเกินไปเมื่อกวาดนิ้วไปทางขวาหรือไม่เพียงพอเมื่อปัดลงมันก็โอเค ด้วยการใช้งานนี้ตราบใดที่คุณกวาดนิ้วไปไกลพอที่จะลงทะเบียนอย่างถูกต้องกับซอฟต์แวร์มันจะใช้มันและใช้นิ้วของคุณเป็นจุดเริ่มต้นต่อไปหรือถ้าคุณยกนิ้วออกมันจะใช้สถานที่ถัดไปที่คุณ วางนิ้วของคุณลง

อย่างที่ฉันพูดไว้ก่อนหน้านี้คุณสามารถนำสิ่งนี้ไปใช้กับ platformer เพียงแค่แบ่งการควบคุมออกเป็นภูมิภาคต่าง ๆ เพื่อให้ swipes และ taps ของคุณทำสิ่งต่าง ๆ ขึ้นอยู่กับว่าคุณทำอะไรบนหน้าจอ เส้นทางที่ชัดเจนคือทำให้การเคลื่อนไหวของด้ามจับด้านซ้ายเพียงแค่ใช้การปัดนิ้ว จากนั้นทางด้านขวาจะถูกใช้เพื่อจัดการกับการกระทำและความสามารถของผู้เล่นโดยใช้การรวมกันของการปัดนิ้วและก๊อกน้ำ


4

จะเกิดอะไรขึ้นถ้าคุณปฏิบัติต่อครึ่งหนึ่งของหน้าจอเสมือนลูกบอลแทร็กซึ่งตำแหน่ง / ความเร็วของตัวละครของคุณเชื่อมโยงโดยตรงกับลูกบอล การปัดและปล่อยจะทำให้ตัวละครของคุณเคลื่อนไหวอย่างต่อเนื่อง (และทำให้แทร็กบอลหมุน) การจับนิ้วของคุณบนหน้าจอจะเหมือนกับการถือแทร็กบอลเพื่อให้คุณสามารถปรับตำแหน่งของตัวละครหรือหยุดการเคลื่อนไหวของตัวละคร ฉันคิดว่าสิ่งนี้สามารถทำงานได้ค่อนข้างดีสำหรับช่วงเวลาที่ตื่นเต้นใน Super Meat Boy ที่คุณพยายามวิ่งกระโดดแล้วหยุดเล็กน้อย นี่จะเป็นวิธีการทดลองเพราะฉันไม่เคยเห็นมันมาก่อน แต่มีอะไรดีกว่าแท่งเสมือนจริง

แก้ไข: Steam Controller จัดการแทร็คแพดของพวกเขาเหมือนแทร็กบอลจำลอง แต่ฉันไม่ได้ทดลองพอที่จะหาเกมที่ให้ความรู้สึกเหมือนกับมัน


ฉันชอบคำตอบนี้จริงๆเพราะมันเป็นความคิดนอกกรอบ หากใครใช้มันฉันก็อยากรู้ว่ามันใช้งานได้ดีแค่ไหน
SpartanDonut

2

ฉันพบว่าการควบคุมหน้าจอสัมผัสค้างไว้เพื่อให้ตอบสนองได้ดีที่สุด

หากบุคคลนั้นสัมผัสทางซ้ายให้วิ่งไปทางซ้าย (จนกว่าเขาจะไป) หากบุคคลนั้นสัมผัสทางด้านขวาให้วิ่งไปทางขวา

RunRunRiot! เป็นตัวอย่างของสิ่งนี้

สำหรับการกระโดดคุณสามารถแตะที่หน้าจอกลาง (ใช้มือทั้งสองข้าง)

ตัวอย่าง (landscaped iPad) วิ่งไปทางขวา

______________
|            |
|            |
|            |
|___________R|

กระโดดไปทางขวา

______________
|            |
|L*          |
|            |
|___________R|

(L * = แตะซ้าย)

กระโดดไปทางซ้าย

______________
|            |
|          R*|
|            |
|L___________|

1

อินพุตที่ดีที่สุดสำหรับเกมหน้าจอสัมผัสที่ฉันพบคือเกมแพลตฟอร์มที่เรียบง่ายจริงๆเมื่อทุกสิ่งที่คุณต้องทำคือแตะหน้าจอเพื่อกระโดด! เกมใดก็ตามที่ใช้ accelerometer สำหรับการเคลื่อนไหวของอินพุตกับฉันนั้นดูสับสนมาก!

นี่เป็นภาวะที่กลืนไม่เข้าคายไม่ออกร่วมกันเมื่อพัฒนาบนหน้าจอสัมผัสหากมีสิ่งที่แนบมา D-pad ที่เป็นที่นิยม ฉันคิดว่าคุณจะต้องลองไอเดียของคุณบนหน้าจอบอล

บางทีคุณอาจมีอินพุตซ้ายและขวาบนซ้ายสุดและขวาสุดของหน้าจอและมีการขึ้นและลงโดยใช้ส่วนสูงหรือล่างของอินพุตซ้ายหรือขวา ฉันคิดว่านั่นสมเหตุสมผล


1

คุณสามารถพิจารณาการควบคุมที่แม่นยำยิ่งขึ้นเฉพาะเมื่อตัวละครของผู้เล่นอยู่ในอากาศ

ตัวอย่างเช่นหากด้านขวาของหน้าจอควบคุมทิศทางด้านข้างคุณอาจมีด้านซ้ายทั้งหมดสำหรับการกระโดด เมื่ออยู่ในอากาศครึ่งล่างซ้ายของหน้าจออาจเป็น 'ลงมา' และครึ่งบนอาจเป็นการกระโดดสองครั้ง

อีกทางเลือกหนึ่งคือการปรับใช้รูปแบบการกระโดดเช่น Jetpack Joyride หรือเกมประเภท "Cave" ซึ่งยิ่งคุณถือ "สูง" ยิ่งสูงขึ้น มันมีศักยภาพที่จะแม่นยำและฉันคิดว่าจะทำงานได้ดีกับ platformer ประเภท Super Meat Boy โดยสมมติว่าระดับได้รับการออกแบบอย่างเหมาะสม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.