วันจันทร์ที่ 15 พฤษภาคม พ.ศ. 2560

จิกซอในจินตนาการ ตอนที่ 4 unity coding สำหรับโปรแกรมวาดรูปบน android

        ด้วยความที่ลักษณะของappค่อนข้างคล้ายไปทางเกม  จึงได้เลือกใช้unityสำหรับการสร้างตัวappขึ้นมา  ซึ่งunityจะค่อนข้างครบเครื่องในเรื่องการพัฒนาเกม และการเขียนโปรแกรมเชิงวัตถุ(Object)  ที่สำคัญยังสามารถพัฒนาappบนแพลตฟอร์มอื่นๆได้หลากหลายอีกด้วย  ในทีนี้เราจะสร้างandroid applicationกัน


หลักๆก็จะแบ่งส่วนการทำงานเป็นสามส่วน คือ
1. ส่วนที่เก็บข้อมูลของแต่ละdot และจัดข้อมูลเป็นpackage ก่อนส่งให้ controller
2. ส่วนTCP serverเพื่อให้มือถือทำหน้าที่เป็นhost สำหรับจ่ายpackageให้แต่ละclientที่เชื่อมต่อเข้ามา(Node mcu)
3. ส่วนGUIเพื่อตกแต่งให้โปรแกรมสวยงามและใช้งานง่าย  รวมถึงโปรแกรมเบื้องหลังที่ช่วยในส่วนการแสดงผล (prefab,raycast,etc.)



Package Manager
        ในส่วนแรก หลักการทำงานคร่าวๆคือ เราจะให้1dot เป็น 1object  ซึ่งจะเก็บค่าว่าเป็นสีดำหรือสีขาว(1 or 0)จากการวาดรูป  ทีนี้จะให้นั่งจัดตำแหน่งแต่ละdotก็จะลำบากเกินไป เราจะใช้การสร้างตัวโคลนของobjนั้นขึ้นมาแทน ซึ่งลองศึกษาต่อได้ในเรื่องการทำprefabในunity  (สมเป็นengineสำหรับสร้างเกมจริงๆ เครื่องมือมีครบ 55+  แต่ต้องศึกษานานหน่อย)  เมื่อมีตัวแปรเก็บค่าแล้วก็จะเอามาเรียงต่อกันเป็นตัวแปรstringโดยจะแยกตามจำนวนบล็อก(9บล็อค)  เตรียมไว้ใช้ต่อสำหรับส่งให้client

Tcp Server
        ส่วนที่สองจะทำหน้าที่เปลี่ยนตัวอุปกรณ์ให้เป็นserver  สำหรับติดต่อสื่อสารในวงlan  และคอยควบคุมจัดการclientที่เชื่อมต่อเข้ามา  ซึ่งตรงนี้จะเป็นปัญหาพอสมควร(55+) เพราะunityไม่สามารถตอบโจทย์ความต้องการได้ดีเท่าไร  จึงต้องใช้standard libraryของภาษาC#มาเขียนโค๊ดเองโดยตรงดีกว่า

GUI
        ที่เหลือก็เป็นการเขียนโค๊ดตกแต่งแล้ว (อิอิ)  หลักๆก็จะเป็นการดักบั๊กที่อาจจะเกิดขึ้น  มีการเปลี่ยนซีน มีปุ่มดินสอยางลบ การเปลี่ยนสีของแต่ละdot รวมถึงรายละเอียดเล็กน้อยอื่นๆ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น