สร้างเกม Android พื้นฐานเกมแรกของคุณในเวลาเพียง 7 นาที (พร้อม Unity)

ผู้เขียน: Lewis Jackson
วันที่สร้าง: 11 พฤษภาคม 2021
วันที่อัปเดต: 1 กรกฎาคม 2024
Anonim
Quickly preview your game on Android device | Unity tutorial
วิดีโอ: Quickly preview your game on Android device | Unity tutorial

เนื้อหา


การสร้างเกมที่ทำงานได้อย่างสมบูรณ์สำหรับ Android นั้นง่ายกว่าที่คุณคิด กุญแจสำคัญในการพัฒนา Android ที่ประสบความสำเร็จหรือการพัฒนาใด ๆ คือการรู้ว่าคุณต้องการบรรลุและค้นหาเครื่องมือและทักษะที่จำเป็นที่ต้องทำ ใช้เส้นทางของการต่อต้านน้อยที่สุดและมีเป้าหมายที่ชัดเจนในใจ

เมื่อพูดถึงการสร้างเกมเครื่องมือที่ดีที่สุดในความคิดของฉันคือ Unity ใช่คุณสามารถสร้างเกมใน Android Studio แต่ถ้าคุณไม่เคยมีประสบการณ์กับ Java และ Android SDK มันจะเป็นการต่อสู้ที่ยากลำบาก คุณจะต้องเข้าใจสิ่งที่เรียนทำ คุณจะต้องใช้มุมมองที่กำหนดเอง คุณจะต้องพึ่งพาห้องสมุดเพิ่มเติมบางแห่ง รายการดำเนินต่อไป

Unity เป็นเครื่องมือระดับมืออาชีพที่เสริมพลังให้กับเกมขายดีที่ใหญ่ที่สุดบน Play Store

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

ในเวลาเดียวกัน Unity เป็นเครื่องมือระดับมืออาชีพที่มอบพลังให้กับเกมที่ขายดีที่สุดส่วนใหญ่ใน Play Store ไม่มีข้อ จำกัด ที่นี่และไม่มีเหตุผลที่ดีที่จะทำให้ชีวิตยากขึ้นสำหรับตัวคุณเอง ได้ฟรีเช่นกัน!


เพื่อแสดงให้เห็นว่าการพัฒนาเกมด้วย Unity ง่ายแค่ไหนฉันจะแสดงวิธีสร้างเกม Android เกมแรกของคุณในเวลาเพียง 7 นาที

ไม่ - ฉันจะไม่ไป อธิบาย ทำอย่างไรใน 7 นาที ฉันกำลังจะไป ทำมัน ใน 7 นาที หากคุณทำตามด้วยคุณจะสามารถทำสิ่งเดียวกันได้อย่างแม่นยำ!

คำปฏิเสธ: ก่อนที่เราจะเริ่มต้นฉันแค่ต้องการชี้ให้เห็นว่าฉันกำลังโกงอยู่เล็กน้อย ในขณะที่กระบวนการสร้างเกมใช้เวลา 7 นาทีทึกทักว่าคุณได้ติดตั้ง Unity แล้วและได้รับการตั้งค่าทุกอย่างแล้ว แต่ฉันจะไม่ปล่อยให้คุณแขวน: คุณสามารถค้นหาการสอนเต็มรูปแบบเกี่ยวกับวิธีการทำเช่นนั้นได้ที่

การเพิ่มสไปรท์และฟิสิกส์

เริ่มต้นโดยดับเบิลคลิกที่ Unity เพื่อเปิดใช้ แม้แต่การเดินทางที่ยาวนานที่สุดก็เริ่มต้นด้วยขั้นตอนเดียว

ตอนนี้สร้างโครงการใหม่และตรวจสอบให้แน่ใจว่าคุณเลือก '2D' เมื่อคุณเข้ามาคุณจะได้รับการต้อนรับด้วยหน้าต่างที่แตกต่างกันสองสามบาน สิ่งเหล่านี้ทำ เราไม่มีเวลาอธิบายดังนั้นเพียงทำตามคำแนะนำของฉันและคุณจะไปรับได้เมื่อเราไป


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

บันทึกเทพดานี้จากนั้นเพียงลากและวางลงใน "ฉาก" ของคุณโดยวางไว้ในหน้าต่างที่ใหญ่ที่สุด คุณจะสังเกตเห็นว่ามันปรากฏขึ้นทางด้านซ้ายใน "ลำดับชั้น" ด้วย

ตอนนี้เราต้องการสร้างแพลตฟอร์มบางอย่าง อีกครั้งเราจะทำสี่เหลี่ยมง่ายๆและเราจะสามารถปรับขนาดด้วยมือนี้เพื่อสร้างกำแพงแพลตฟอร์มและสิ่งที่มีอยู่

ที่นั่นเราไปสวยงาม วางในลักษณะเดียวกับที่คุณเพิ่งทำ

เรามีบางอย่างที่ดูเหมือน 'เกม' อยู่แล้ว คลิกเล่นและคุณควรจะเห็นฉากแบบคงที่ในตอนนี้

เราสามารถเปลี่ยนสิ่งนั้นได้โดยคลิกที่ผู้เล่นของเราสไปรต์และมองไปทางขวาไปที่หน้าต่างที่เรียกว่า 'ผู้ตรวจสอบ' ที่นี่เราเปลี่ยนคุณสมบัติสำหรับ GameObjects ของเรา

เลือก 'เพิ่มส่วนประกอบ' จากนั้นเลือก 'ฟิสิกส์ 2D> RigidBody2D' คุณเพิ่งเพิ่มฟิสิกส์ลงในเครื่องเล่นของคุณ! นี่คงเป็นเรื่องยากอย่างยิ่งที่เราจะทำด้วยตัวเองและเน้นถึงประโยชน์ของความสามัคคี

นอกจากนี้เรายังต้องการแก้ไขการวางแนวของเราเพื่อป้องกันไม่ให้ตัวละครหมุนและอิสระเสรี ค้นหา 'ข้อ จำกัด ' ในผู้ตรวจสอบโดยเลือกผู้เล่นและทำเครื่องหมายในช่องเพื่อหยุดการหมุน Z. คลิกเล่นอีกครั้งและคุณควรพบว่าผู้เล่นของคุณตกลงจากท้องฟ้าสู่การลงโทษที่ไม่มีที่สิ้นสุดของเขา

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

ในการหยุดตัวละครของเราล้มลงกับพื้นคุณจะต้องเพิ่ม Collider นี่เป็นโครงร่างที่มั่นคงของรูปร่าง หากต้องการนำไปใช้ให้เลือกเครื่องเล่นของคุณคลิก ‘เพิ่มส่วนประกอบ’ และในเวลานี้เลือก ‘ฟิสิกส์ 2D> BoxCollider2D’

ใช้เวลาสักครู่เพื่อไตร่ตรองว่ามันง่ายแค่ไหน: เพียงแค่ใช้สคริปต์นี้ชื่อว่า 'RigidBody2D' เรามีฟิสิกส์ที่ใช้งานได้อย่างสมบูรณ์

ทำสิ่งเดียวกันอย่างแม่นยำด้วยแพลตฟอร์มคลิกเล่นจากนั้นตัวละครของคุณควรวางลงบนพื้นแข็ง ง่าย!

อีกอย่างหนึ่ง: เพื่อให้แน่ใจว่ากล้องติดตามผู้เล่นของเราไม่ว่าจะตกลงหรือเคลื่อนไหวเราต้องการลากวัตถุกล้องที่อยู่ในฉาก (สิ่งนี้ถูกสร้างขึ้นเมื่อคุณเริ่มโครงการใหม่) ที่ด้านบนของเครื่องเล่น ขณะนี้อยู่ในลำดับชั้น (รายการ GameObjects ด้านซ้าย) คุณจะต้องลากกล้องเพื่อให้มีการเยื้องอยู่ใต้โปรแกรมเล่น กล้องตอนนี้เป็น "เด็ก" ของ Player GameObject ซึ่งหมายความว่าเมื่อผู้เล่นเคลื่อนที่กล้องก็จะได้เช่นกัน

สคริปต์แรกของคุณ

เรากำลังจะสร้างนักวิ่งที่ไม่มีที่สิ้นสุดขั้นพื้นฐานและนั่นหมายความว่าตัวละครของเราควรจะผ่านไปทางหน้าจอจนกว่าพวกเขาจะเจออุปสรรค เพื่อสิ่งนั้นเราต้องมีสคริปต์ ดังนั้นคลิกขวาในโฟลเดอร์ทรัพย์สินที่ด้านล่างและสร้างโฟลเดอร์ใหม่ที่ชื่อว่า 'สคริปต์' ตอนนี้คลิกขวาอีกครั้งและเลือก ‘สร้าง> C # สคริปต์’ เรียกว่า 'PlayerControls'

ส่วนใหญ่สคริปต์ที่เราสร้างจะกำหนดพฤติกรรมเฉพาะสำหรับ GameObjects ของเรา

ตอนนี้ดับเบิลคลิกที่สคริปต์ใหม่ของคุณและมันจะเปิดขึ้นใน Visual Studio หากคุณตั้งค่าทุกอย่างถูกต้อง

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

Rigidbody2D สาธารณะ rb;

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

rb = GetComponent();

เพิ่มในส่วนอัปเดต ():

rb.velocity = ใหม่ Vector2 (3, rb.velocity.y);

อัปเดต () รีเฟรชซ้ำ ๆ และรหัสใด ๆ ในที่นี่จะทำงานซ้ำแล้วซ้ำอีกจนกว่าวัตถุจะถูกทำลาย ทั้งหมดนี้บอกว่าเราต้องการให้คนแข็งทื่อของเรามีเวกเตอร์ใหม่ด้วยความเร็วเท่ากันบนแกน y (rb.velocity.y) แต่ด้วยความเร็ว ‘3’ บนแกนนอน ในขณะที่คุณกำลังดำเนินการคุณอาจจะใช้ 'FixedUpdate ()' ในอนาคต

บันทึกและกลับไปที่ Unity คลิกที่ตัวละครผู้เล่นของคุณจากนั้นในตัวตรวจสอบเลือกเพิ่มส่วนประกอบ> สคริปต์แล้วเลือกสคริปต์ใหม่ของคุณ คลิกเล่นและบูม! ตอนนี้ตัวละครของคุณควรขยับไปที่ขอบของหิ้งเหมือนอย่างบทแทรก

หมายเหตุ: หากมีสิ่งใดที่ทำให้เกิดความสับสนให้ดูวิดีโอเพื่อดูว่าเสร็จสิ้นแล้ว - จะช่วยได้!

อินพุตผู้เล่นขั้นพื้นฐานมาก

หากเราต้องการเพิ่มคุณสมบัติการข้ามเราสามารถทำได้อย่างง่ายดายเพียงใช้รหัสเพิ่มเติมหนึ่งบิต:

if (Input.GetMouseButtonDown (0)) {rb.velocity = ใหม่ Vector2 (rb.velocity.x, 5); }

สิ่งนี้จะเข้าสู่วิธีการอัปเดตและมีข้อความระบุว่า "หากผู้เล่นคลิก" จากนั้นเพิ่มความเร็วในแกน y (ด้วยค่า 5) เมื่อเราใช้ถ้าสิ่งใดก็ตามที่อยู่ภายในวงเล็บถูกใช้เป็นการทดสอบจริงหรือเท็จ หากตรรกะภายในวงเล็บดังกล่าวเป็นจริงรหัสในวงเล็บปีกกาต่อไปนี้จะทำงาน ในกรณีนี้หากผู้เล่นคลิกเมาส์ความเร็วจะถูกเพิ่มเข้าไป

Android อ่านคลิกเมาส์ซ้ายเป็นการแตะที่ใดก็ได้บนหน้าจอ! ดังนั้นตอนนี้เกมของคุณมีการควบคุมการแตะพื้นฐาน

ค้นหาฐานรากของคุณ

โดยพื้นฐานแล้วนี่เพียงพอที่จะทำการโคลน Flappy Birds โยนในอุปสรรคบางอย่างและเรียนรู้วิธีการทำลายผู้เล่นเมื่อสัมผัสพวกเขา เพิ่มคะแนนด้านบนของที่

หากคุณทำสิ่งนี้ลงจะไม่มีความท้าทายใด ๆ เกิดขึ้นอีกในอนาคต

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

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

เพิ่มรหัสต่อไปนี้ในสคริปต์ของคุณเหนือวิธีการ Update ():

สาธารณะเปลี่ยน groundCheck; การแปลงสาธารณะเริ่มต้นตำแหน่ง; สาธารณะลอยพื้นตรวจสอบรัศมี; LayerMask สาธารณะ whatIsGround; บูลส่วนตัวบนพื้น;

เพิ่มบรรทัดนี้ในวิธีการอัพเดตด้านบนคำสั่ง if:

onGround = Physics2D.OverlapCircle (groundCheck.position, groundCheckRadius, whatIsGround);

สุดท้ายเปลี่ยนบรรทัดต่อไปนี้เพื่อให้มี && onGround:

if (Input.GetMouseButtonDown (0) && onGround) {

สิ่งทั้งหมดควรมีลักษณะเช่นนี้:

PlayerControls ระดับสาธารณะ: MonoBehaviour {public Rigidbody2D rb; สาธารณะเปลี่ยน groundCheck; การแปลงสาธารณะเริ่มต้นตำแหน่ง; สาธารณะลอยพื้นตรวจสอบรัศมี; LayerMask สาธารณะ whatIsGround; บูลส่วนตัวบนพื้น; เป็นโมฆะเริ่มต้น () {rb = GetComponent(); } void Update () {rb.velocity = ใหม่ Vector2 (3, rb.velocity.y); onGround = Physics2D.OverlapCircle (groundCheck.position, groundCheckRadius, whatIsGround); if (Input.GetMouseButtonDown (0) && onGround) {rb.velocity = Vector2 ใหม่ (rb.velocity.x, 5); }}}

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

ดังนั้น onGround จึงเป็นจริงถ้าการแปลงที่เรียกว่า groundCheck ซ้อนทับชั้นดิน

หากคุณคลิกบันทึกจากนั้นมุ่งหน้ากลับไปที่ Unity ตอนนี้คุณจะเห็นว่าคุณมีตัวเลือกเพิ่มเติมในสารวัตรเมื่อคุณเลือกเครื่องเล่น ตัวแปรสาธารณะเหล่านี้สามารถเห็นได้จากภายใน Unity เองและนั่นหมายความว่าเราสามารถตั้งค่าได้ตามที่เราต้องการ

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

เลือกผู้เล่นอีกครั้งและในการตรวจสอบให้ลากวัตถุตรวจสอบพื้นใหม่ไปยังพื้นที่ที่มีข้อความว่า 'groundCheck' ตอนนี้ transform ’(ตำแหน่ง) จะเท่ากับตำแหน่งของวัตถุใหม่ ขณะที่คุณอยู่ที่นี่ให้ป้อน 0.1 บริเวณที่มีรัศมี

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

ตอนนี้คลิกย้อนกลับและเวลานี้เลือก "กราวด์" เป็นเลเยอร์สำหรับแพลตฟอร์มของคุณ (ทำซ้ำสิ่งนี้สำหรับแพลตฟอร์มอื่น ๆ ที่คุณลอยไปมา) สุดท้ายที่มีข้อความว่า 'พื้นดินคืออะไร' บนเครื่องเล่นของคุณให้เลือกเลเยอร์พื้นดินเช่นกัน

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

และถ้าคุณกดปุ่มเล่นคุณจะสามารถเล่นเกมพื้นฐานที่ต้องคลิกเพื่อกระโดดในเวลาที่เหมาะสม

หากคุณกดปุ่มเล่นคุณจะสามารถเล่นเกมพื้นฐานที่ต้องคลิกเพื่อกระโดดในเวลาที่เหมาะสม หากคุณตั้งค่า Unity ของคุณอย่างถูกต้องด้วย Android SDK คุณควรจะสามารถสร้างและรันสิ่งนี้แล้วเล่นบนสมาร์ทโฟนของคุณโดยแตะที่หน้าจอเพื่อข้ามไป

ถนนข้างหน้า

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

จุดประสงค์ของฉันที่นี่คือการแสดงให้คุณเห็นว่าคุณสามารถทำสิ่งพื้นฐานและทำงานได้อย่างรวดเร็ว ทำตามคำแนะนำเหล่านี้คุณควรจะสามารถสร้างนักวิ่งที่ไม่มีที่สิ้นสุดของคุณได้ในเวลาเพียงแค่ให้ Unity จัดการกับสิ่งที่ยากเช่นฟิสิกส์

หากคุณรู้ว่าคุณต้องการสร้างและทำวิจัยของคุณคุณไม่จำเป็นต้องเป็นตัวช่วยสร้างการเข้ารหัสเพื่อสร้างเกมที่เหมาะสม!

วันนี้เราพึ่งอิเล็กทรอนิกส์มาก ๆ มันคงเป็นเรื่องโง่ที่จะออกจากบ้านโดยไม่มีธนาคารพลังงาน หากคุณยังไม่ได้เพิ่มหนึ่งในคอลเล็กชั่นเทคโนโลยีของคุณ Graphene 10K HyperCharger จะทำเครื่องหมายในกล่องที่เหมาะสม...

มีมากกว่านี้ งานออกแบบกราฟิก มากขึ้นกว่าเดิม จาก meme สื่อโซเชียลถึงภาพขนาดย่อของ YouTube ความต้องการนั้นชัดเจนน่าเสียดายที่ค่าใช้จ่ายของการฝึกอบรมในสาขานี้อาจสูง โชคดีที่มี ตัวเลือกที่ทำงานได้ นอกนั้...

บทความที่น่าสนใจ