การพัฒนาเกม

คำถาม & คำตอบสำหรับนักพัฒนาเกมมืออาชีพและเป็นอิสระ

3
ร่างสไปรต์
ขณะนี้ฉันกำลังทำงานกับเกม 2D และภารกิจปัจจุบันของฉันคือการร่างวัตถุที่เลือก ฉันใช้เบลอเบลอเพื่อทำรันไทม์อย่างเต็มที่ ก่อนอื่นฉันวาดเทพดาโดยใช้ shader เบลอแนวตั้งแบบ Gaussian จากนั้นฉันวาดมันด้วย shader blur แนวนอนแบบเกาส์และจากนั้นฉันก็วาดเทพดาตามปกติ นี่คือภาพเบลอของฉัน: sampler TextureSampler: register (s0); #define SAMPLE_COUNT 15 float2 SampleOffsets[SAMPLE_COUNT]; float SampleWeights[SAMPLE_COUNT]; float4 PixelShaderFunction(float2 texCoord : TEXCOORD0) : COLOR0 { float4 c = 0; // Combine a number of weighted image filter taps. for (int i = 0; …

1
วิธีการปิดไฟใน Unity3D ได้อย่างไร
ก่อนอื่นฉันเป็นเจ้าของ Unity Pro ฉันกำลังมองหาที่จะปิดไฟเมื่อพวกเขาไม่ได้รับการดูในขณะนี้เพื่อปรับปรุงประสิทธิภาพ วิธีการหลักที่ฉันใช้ในการใช้ BecameVisible () และทดสอบ frustum ของกล้อง ปัญหาหลักของฉันคือถ้าผู้เล่นกำลังดูพื้นที่ที่จะสว่างด้วยแสงฉันยังต้องการแสงที่จะเปิด ขณะนี้ฉันใช้วิธีการตรวจสอบเพื่อดูว่าพื้นที่แสงสว่างอยู่ใน frustum ของกล้องหรือไม่ แต่บางครั้งปัญหาไฟอยู่ใน frustum โดยที่ผู้เล่นไม่สามารถมองเห็นได้ (เช่นกำแพงกั้นระหว่างพวกเขากับเครื่องเล่น) ฉันลอง raycasting กับพวกมัน แต่คุณไม่สามารถรับรายละเอียดเพียงพอสำหรับพื้นที่ที่เกิดขึ้นจริง (สิ่งที่ดีที่สุดที่ฉันคิดได้คือใช้ renderer.bounds.extent และ renderer.bounds.center เพื่อคำนวณจุดส่องสว่างสูงสุดจากแสง) ไม่มีใครรู้วิธีที่ง่าย ๆ ใน Unity Pro เพื่อปิดไฟ? หรือคุณสามารถบอกวิธีที่ดีในการใช้วิธีการที่ศูนย์กลางกล้องที่ฉันพูดถึง?

2
ติดตามเส้นทางในแบบเรียบ
ขณะนี้ฉันกำลังสร้างเกมป้องกันหอคอย 2d ที่มีช่องทางเคลื่อนที่ที่กำหนดไว้ล่วงหน้าซึ่งศัตรูติดตาม (เช่นหอคอยไม่สามารถบล็อกเส้นทางและการค้นหาเส้นทางไม่ใช่ปัญหาที่ฉันพยายามแก้ไข) ฉันพยายามคิดว่าจะให้หน่วยตามช่องทางนี้อย่างราบรื่นได้อย่างไร ฉันมีแนวคิดคร่าวๆสองข้อเกี่ยวกับวิธีการทำเช่นนี้ แต่ฉันชอบที่จะป้อนข้อมูลบางอย่างซึ่งน่าจะง่ายต่อการใช้ / เทคนิคมาตรฐานมากขึ้น หรือแน่นอนถ้าฉันมีวิธีที่แตกต่างกันโดยสิ้นเชิงซึ่งฉันไม่คิดว่าฉันจะรักที่จะเรียนรู้เกี่ยวกับสิ่งนั้นเช่นกัน จุดอ้างอิง: ความคิดแรกของฉันคือการกำหนดเส้นทางเป็นชุดของจุดอ้างอิงแบบตายตัว หน่วยจะใช้อัลกอริทึมการหมุนแบบ "ค้นหา" ขั้นพื้นฐาน (เช่นอันนี้ ) เพื่อย้ายไปยังแต่ละจุดตามเส้นทางในเส้นทางที่ต่อเนื่องกัน อย่างไรก็ตามฉันสงสัยว่ามันอาจเป็นการยากที่จะป้องกันไม่ให้หน่วยเบี่ยงเบนไปจากเลนที่ฉันต้องการให้พวกเขาติดตาม ฉันสงสัยว่าการไม่สามารถเลี้ยวอย่างรุนแรงพออาจทำให้พวกเขา "เหิน" ออกจากเลนที่ต้องการหรือไม่ ฉันคิดว่าฉันอาจสามารถป้องกันได้โดยอนุญาตให้ใช้กำลังบังคับที่ค่อนข้างแรง Bezier Curves: วิธีที่สองที่ฉันพิจารณาคือกำหนดเส้นทางด้วยเส้นโค้ง bezier และในแต่ละขั้นตอนจะคำนวณจุดตามเส้นโค้งด้วย (dt * speed) ห่างจากตำแหน่งปัจจุบันของหน่วย ฉันสงสัยว่าเทคนิคนี้จะทำให้การกำหนดเส้นทางที่หน่วยจะปฏิบัติได้ง่ายขึ้น แต่ฉันไม่รู้ว่าจะดำเนินการอย่างไร ข้อเสนอแนะใด ๆ นอกจากนี้ฉันไม่ต้องการเปลี่ยนคำตอบของทุกคน แต่หน่วยต่างๆจะต้องสามารถเดินทางด้วยความเร็วคงที่ตลอดเส้นทาง นอกจากนี้ฉันกำลังเขียนโปรแกรมเกมนี้ในไพ ธ อนโดยใช้ pyglet framework หากมีคำถามเกี่ยวกับคำถามที่ไม่ชัดเจนโปรดแจ้งให้เราทราบ แก้ไข: นอกจากนี้สำหรับสิ่งที่คุ้มค่าผมเรียงลำดับของการพยายามที่จะทำซ้ำพฤติกรรมการเคลื่อนไหวของศัตรูในราชอาณาจักร Rush

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

2
วิธีการแยกการเข้าสู่ระบบและตรรกะของเกมเมื่อเขียนเซิร์ฟเวอร์?
ฉันกำลังสร้างโป๊กเกอร์เหมือนเซิร์ฟเวอร์เกมฉันจะต้องมีการจัดการและลอจิกเกมทั้งหมดบนเซิร์ฟเวอร์เดียว แต่จากการวิจัยของฉันบนเว็บฉันเรียนรู้ว่าสิ่งนี้จะไม่ขยายและมันจะแยกออกจากกัน การทำงานในการเข้าสู่ระบบและเซิร์ฟเวอร์เกม แต่สิ่งที่ฉันไม่ได้รับคือหลังจากที่ฉันจัดการการรับรองความถูกต้องในเซิร์ฟเวอร์การเข้าสู่ระบบและให้ลูกค้าทำการเชื่อมต่อใหม่กับเซิร์ฟเวอร์เกมฉันจะรู้ได้อย่างไรว่าลูกค้ารายใดเป็นลูกค้า ฉันจะไม่ต้องลงชื่อเข้าใช้อีกครั้งและทำให้จุดประสงค์ในการมีเซิร์ฟเวอร์เพื่อเข้าสู่ระบบหรือไม่ มีวิธีการเชื่อมต่อระหว่างกระบวนการและเครื่องจักรที่ฉันไม่รู้หรือไม่? ขอโทษความรู้เล็กน้อยของฉันเกี่ยวกับเครือข่าย

2
D3D / DXGI จัดการการเปลี่ยนหน้าจอเต็ม
ฉันมีแอปพลิเคชั่น D3D11 และฉันต้องการเพิ่ม suport แบบเต็มหน้าจอที่เหมาะสม ตอนนี้ฉันสามารถให้ DXGI สลับหน้าต่างของฉันเป็นแบบเต็มหน้าจอสำหรับฉันและฉันรู้สึกว่า DXGI จะดูแลทุกอย่างที่จำเป็นเพื่อให้การสลับโซ่ด้านหน้าและด้านหลังแทนการ blitting อย่างไรก็ตามการทำให้ DXGI ทำงานได้อย่างรวดเร็วดูเหมือนว่าไม่น่าเชื่อถือด้วยการติดตั้งจอภาพหลายจอ - หน้าจอที่สองยังคงเป็นสีดำทั้งหมดหลังจากการสลับเวลาเป็นอย่างมากโดยไม่มีเหตุผลหรือรูปแบบที่ชัดเจน อาจต้องใช้การสลับไปมาสองสามครั้งก่อนที่ฉันจะได้รับหน้าต่างเต็มหน้าจอและส่วนที่เหลือของเดสก์ท็อปที่แสดงบนหน้าจออื่น เห็นได้ชัดว่าฉันไม่ได้อยู่คนเดียวกับเรื่องนี้ Battlefield 3 และ WoW ดูเหมือนจะมีปัญหาที่คล้ายกันสำหรับผู้คนจำนวนมาก ตอนนี้คำถามที่เกิดขึ้นจริง: ฉันเดาว่าแม้กระทั่ง บริษัท ผู้พัฒนาเกม AAA เหล่านั้นก็ไม่สามารถทำงานได้ความหวังที่ยิ่งใหญ่ที่สุดของฉันคือการเปลี่ยนไปใช้งานแบบเต็มหน้าจอด้วยตัวเอง มีสิ่งใดบ้างที่ฉันสามารถทำได้เพื่อยกระดับหน้าต่าง / swapchain ของฉันให้อยู่ในโหมดเต็มหน้าจอแบบเต็มบัฟเฟอร์หรือไม่

4
เหตุใดฉันจึงควรใช้วิธีการกำหนดค่าเริ่มต้นแยกต่างหากและล้างข้อมูลแทนการวางตรรกะในตัวสร้างและตัวทำลายสำหรับส่วนประกอบเครื่องยนต์?
ฉันทำงานกับเอ็นจิ้นเกมของตัวเองและตอนนี้ฉันกำลังออกแบบผู้จัดการของฉัน ฉันได้อ่านแล้วว่าสำหรับการจัดการหน่วยความจำการใช้Init()และCleanUp()ฟังก์ชั่นจะดีกว่าเมื่อใช้ Constructor และ Destructors ฉันกำลังมองหาตัวอย่างรหัส C ++ เพื่อดูว่าฟังก์ชั่นเหล่านั้นทำงานอย่างไรและฉันจะนำไปใช้ในเครื่องยนต์ได้อย่างไร ทำงานอย่างไรInit()และCleanUp()ทำงานอย่างไรและฉันจะนำไปใช้กับเครื่องยนต์ได้อย่างไร

1
การออกแบบตามส่วนประกอบ / เอนทิตี + พฤติกรรมต้นไม้ => วิธีการรวม?
สำหรับโครงการปัจจุบันของฉันฉันดำเนินการองค์ประกอบระบบ / นิติบุคคลตามพื้นต่อไปมากที่สุดของการปฏิบัติที่ดีที่สุดที่มีอยู่ในนี้พื้นที่ค่อนข้างไม่ได้กำหนด ดังนั้นฉันจึงได้ (ขยายออกไปเล็กน้อย) เอนทิตีซึ่งโดยทั่วไปแล้วจะเป็นintID, ชื่อที่มนุษย์อ่านได้, std::mapของคอมโพเนนต์และlong"ตัวบ่งชี้ประเภท" ซึ่งใช้เพื่อแสดงองค์ประกอบที่มีอยู่ (ฉันมีพลังสองenumสำหรับองค์ประกอบทั้งหมด ประเภทและเมื่อใดก็ตามที่มีการเพิ่มองค์ประกอบลงในเอนทิตีฉันจะแก้ไขความยาวนั้นโดยอัตโนมัติผ่านการดำเนินการระดับบิตเปรียบเทียบคำตอบนี้ ) จากนั้นมีส่วนประกอบซึ่งค่อนข้างง่าย: intID enumเป็นประเภทส่วนประกอบตัวชี้ Entity หลักและstd::mapคุณสมบัติทั้งหมดที่มีอยู่ในคอมโพเนนต์นี้ ในที่สุดระบบ / ผู้จัดการที่จัดการกับการประมวลผลเชิงตรรกะ พวกเขาตรวจสอบก่อนว่า Entity ที่ประมวลผลในปัจจุบันมีการจับคู่long"type indicator" = ส่วนประกอบที่จำเป็นทั้งหมดสำหรับระบบนั้นมีอยู่หรือไม่ จากนั้นจะเข้าถึงคุณสมบัติบางอย่างถ้าจำเป็นและเรียกใช้ฟังก์ชันบางอย่างโดยตรงในองค์ประกอบที่เกี่ยวข้องหรือส่งข้อความบางอย่าง (ผ่านตัวแจกจ่ายข้อความ) Bottom-line:จนกระทั่งถึงที่นี่เป็นส่วนประกอบที่ขับเคลื่อนด้วยเหตุการณ์ / ระบบเอนทิตีที่เป็นมาตรฐานมากกว่ารวมกับวิธีการที่ขับเคลื่อนด้วยข้อมูล (เปรียบเทียบส่วนประกอบไม่ได้มีตัวแปรข้อมูลที่มีรหัสตายตัว แต่เป็นแผนที่ทั่วไปแทน (บางส่วน) / archetypes ของส่วนประกอบจะถูกอ่านจากไฟล์ที่มีตัวเลือกในการเพิ่มข้อมูลเพิ่มเติมซึ่งไม่ได้เป็นส่วนหนึ่งของรหัสส่วนประกอบจริง ตอนนี้ฉันอยากจะแนะนำBehavior Trees (อิงจากAiGameDev BTSK ) ในโครงการนั้น แต่ฉันไม่แน่ใจว่าควรเชื่อมโยงกับส่วนประกอบที่มีอยู่แล้วหรือไม่หรือจะรวมการออกแบบเหล่านั้นเข้าด้วยกันอย่างไร แนวคิด / คะแนน / คำถามที่เกี่ยวข้องหลายประการอยู่ในใจ: BT …

1
Phil Fish ใช้โปรแกรมแก้ไขในระดับใดในเกมอินดี้: ภาพยนตร์
ไม่มีใครรู้ว่าโปรแกรม Phil Fish ใช้เพื่อแก้ไขแบบจำลองระดับหรือไม่ หรือมันเป็นสิ่งที่เขาสร้างขึ้นเอง? ฉันยังใหม่ต่อการพัฒนาเกมและกำลังมองหาบางอย่างในการออกแบบระดับนอกเหนือจากโน้ตบุ๊กของฉัน

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

2
วิธีที่มีประสิทธิภาพมากขึ้นในการติดตั้ง Line of sight บนตาราง 2d ด้วยการฉายรังสี?
พิจารณาตารางไพ่แบบ 2d และขอบเขตของพิกัดโดยประมาณ - ซึ่งอยู่กึ่งกลางผู้เล่น - ซึ่งแสดงถึงเส้นสายตา เป้าหมายคือเพื่อป้องกันสายตาที่มองข้ามสิ่งกีดขวาง (เช่นกำแพง) มันค่อนข้างง่ายที่จะตรวจสอบว่ามีเซลล์ใดในขอบเขตของสายตาที่มองเห็นหรือไม่: ฉายรังสีจากผู้เล่นไปยังเซลล์เป้าหมายโดยใช้Bresenham's - หากหนึ่งในเซลล์ที่ทับซ้อนกันระหว่างผู้เล่นและเป้าหมายนั้นเป็นอุปสรรคเซลล์เป้าหมาย ไม่สามารถมองเห็นได้ ตอนนี้ความคิดแรกของฉันคือการวนซ้ำไปตามเซลล์กริดทั้งหมดในแนวสายตา - แต่ดูเหมือนว่าจะไม่มีประสิทธิภาพสำหรับฉัน ตัวอย่างเช่นหากผู้เล่นยืนอยู่ติดกับกำแพงและคุณกำหนดว่ามองไม่เห็นเซลล์ที่อยู่นอกกำแพงคุณสามารถระบุเซลล์ทั้งหมดบนรังสีหลังจากนั้นจะมองไม่เห็น นอกจากนี้ยังพิจารณาการส่งรังสีไปยังแต่ละเซลล์ตามแนวรัศมีของสายตาและวนเซลล์แต่ละเซลล์ตามแต่ละรังสี - แต่ฉันจะทำการประมวลผลเซลล์มากกว่าหนึ่งครั้ง มีวิธีที่มีประสิทธิภาพมากกว่านี้ไหม ในขณะที่วนซ้ำ ~ 50 เซลล์ต่อเทิร์นคือการคำนวณที่ค่อนข้างเบาฉันจะเร่งความเร็ว - เป้าหมายคือสามารถหมุนเวียนรอบ ๆ ไม่กี่รอบต่อวินาทีในการเล่นอัตโนมัติ ดังนั้นยิ่งฉันมีประสิทธิภาพมากเท่าไร

1
การจัดการแบบตาข่ายบน GPU vs CPU
แค่อยากรู้อยากเห็นเล็กน้อย - คุณทำการผสมตาข่ายบน CPU หรือใน shader ที่ไหน? ฉันทำทุกอย่างบน CPU และเพื่อนแนะนำให้ย้ายสิ่งต่างๆไปยังด้าน GPU หากคุณทำสิ่งต่าง ๆ เช่นอนิเมชั่นของกระดูก ... บน GPU คุณจะกลับมาตาข่ายได้อย่างไร? (เนื่องจากฉันกำลังตรวจจับการชนกันของข้อมูล ... )
9 opengl  3d 

2
รับรายละเอียดการชนจาก Rectangle.Intersects ()
ฉันมีเกมฝ่าวงล้อมที่บางจุดฉันตรวจพบการชนกันระหว่างลูกบอลและไม้พายด้วยสิ่งนี้: // Ball class rectangle.Intersects(paddle.Rectangle); มีวิธีที่ฉันจะได้รับพิกัดที่แน่นอนของการปะทะกันหรือรายละเอียดใด ๆ เกี่ยวกับเรื่องนี้ด้วยการใด ๆ ในปัจจุบันXNA API? ฉันคิดถึงการคำนวณพื้นฐานบางอย่างเช่นการเปรียบเทียบพิกัดที่แน่นอนของแต่ละวัตถุในช่วงเวลาของการชน มันจะมีลักษณะเช่นนี้: // Ball class if((rectangle.X - paddle.Rectangle.X) < (paddle.Rectangle.Width / 2)) // Collision happened on the left side else // Collision happened on the right side แต่ฉันไม่แน่ใจว่านี่เป็นวิธีที่ถูกต้องที่จะทำ พวกคุณมีเคล็ดลับเกี่ยวกับเครื่องยนต์ที่ฉันอาจต้องใช้เพื่อให้บรรลุหรือไม่? หรือแม้แต่การเขียนโค้ดที่ดีโดยใช้วิธีนี้?

2
การประมาณค่าใช้จ่ายในระบบ GOAP
ฉันกำลังพัฒนาระบบ GOAP ใน Java คำอธิบายของ GOAP สามารถพบได้ที่http://web.media.mit.edu/~jorkin/goap.html โดยพื้นฐานแล้วมันใช้ A * เพื่อพล็อตระหว่างการกระทำที่เปลี่ยนแปลงสถานะโลก เพื่อให้โอกาสที่ยุติธรรมสำหรับการกระทำและเป้าหมายทั้งหมดที่จะดำเนินการฉันใช้ฟังก์ชันการวิเคราะห์พฤติกรรมเพื่อประเมินค่าใช้จ่ายในการทำบางสิ่งบางอย่าง วิธีที่ดีที่สุดในการประเมินค่าใช้จ่ายนี้เพื่อให้สามารถเปรียบเทียบกับค่าใช้จ่ายอื่น ๆ ทั้งหมดคืออะไร ยกตัวอย่างเช่นการประเมินค่าใช้จ่ายในการวิ่งหนีจากศัตรูเมื่อเทียบกับการโจมตี - วิธีการคำนวณต้นทุนควรเปรียบเทียบได้อย่างไร
9 java  ai  path-finding 

2
Android แบบเรียลไทม์หลายคนผ่าน LAN [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันได้พัฒนาหลายเกมสำหรับแพลตฟอร์ม Android และตอนนี้วางแผนที่จะสร้างเกมผู้เล่นหลายคนคนแรกของฉัน สิ่งที่ฉันมีอยู่ในใจเป็นเพียงแค่เกมแม่มดสำหรับผู้เล่น 2 คนคุณสามารถเล่นกับโทรศัพท์ 2 เครื่องผ่านการเชื่อมต่อในพื้นที่ / WiFi โทรศัพท์ทั้งสองเครื่องจะต้องสามารถส่งค่าจำนวนเต็ม 3 ค่าไปยังโทรศัพท์อีกเครื่องได้แบบเรียลไทม์ จนถึงตอนนี้ฉันได้พิจารณาใช้ซ็อกเก็ต แต่ก่อนที่ฉันจะเจาะลึกเกินไปฉันต้องการถามว่าอาจมีวิธีการที่ดีกว่านี้หรือไม่? ขอบคุณ!

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