คำถามติดแท็ก c#

C # เป็นภาษาการเขียนโปรแกรมที่มีการจัดการพิมพ์อย่างรุนแรงรวบรวมขยะที่สร้างโดย Microsoft ร่วมกับแพลตฟอร์ม. NET

2
โครงสร้างหน่วยเกม RTS
ฉันต้องการวิธีที่จะสร้างหน่วยที่แตกต่างกันมากมายโดยไม่ต้องเขียนโปรแกรมอะไรเช่น moveTo และ Attack มากกว่าหนึ่งครั้ง วิธีที่ฉันเห็นมันมี 2 วิธีที่ฉันทำได้ คลาสหน่วยทั่วไปเดียวที่มีแฟล็กที่ระบุสิ่งที่สามารถ / ไม่สามารถทำได้ (จากนั้นสร้างอินสแตนซ์ในอาร์เรย์แบบสแตติกและคว้าเมื่อจำเป็น) คลาสหน่วยนามธรรมพร้อมวิธีการแบบนามธรรมสำหรับการกระทำเฉพาะหน่วยเช่น (Attack, Harvest, Patrol) ซึ่งจำเป็นต้องนำไปใช้ในคลาสย่อยแม้ว่าหน่วยนั้นจะไม่สามารถเก็บเกี่ยวสิ่งใดได้ วิธีแรกในการทำสิ่งนี้ดูง่ายที่สุด แต่ฉันจะต้องมีรหัสจำนวนมากที่ไม่ได้ใช้สำหรับหน่วยงานส่วนใหญ่ วิธีที่สองสามารถใช้งานได้เช่นกัน แต่ถ้าฉันตัดสินใจที่จะมีสองหน่วยที่แตกต่างกันที่สามารถเก็บเกี่ยวทรัพยากรฉันจะมีรหัสเดียวกันแน่นอนในสองชั้นเรียนที่แตกต่างกันซึ่งดูเหมือนจะไม่ถูกวิธีที่จะทำ นี่เป็นแนวทางที่ถูกต้องสำหรับปัญหานี้หรือไม่? ในเกมอย่าง AoE ทุกหน่วยมีสิ่งที่ฉันเข้าใจคือ List of Actions / Orders บางอย่างฉันอยากรู้วิธีทำให้บางอย่างคล้ายกับสิ่งนั้นโดยที่ฉันสามารถเขียนโค้ด Action / Order แต่ละครั้งได้ครั้งเดียวและ จากนั้นมอบให้กับทุกหน่วยงานที่ต้องมีการกระทำ หากฉันไม่ชัดเจน (น่าเชื่อถือสูง) หรือคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่ฉันกำลังมองหาเพียงแค่ถามฉันในความคิดเห็น
18 unity  c#  architecture  rts 

4
C # แตกต่างใน Unity หรือไม่
ต้องการปรับปรุงโพสต์นี้หรือไม่? ให้คำตอบโดยละเอียดสำหรับคำถามนี้รวมถึงการอ้างอิงและคำอธิบายว่าทำไมคำตอบของคุณถึงถูกต้อง คำตอบที่ไม่มีรายละเอียดเพียงพออาจแก้ไขหรือลบออกได้ Unity ใช้ C # ในเวอร์ชันอื่นหรือเหมือนกันทั้งหมดหรือไม่ มันดูแตกต่างจาก C # ปกติ แต่มีองค์ประกอบ C # ปกติอยู่ในนั้น
18 c#  unity 

2
วิธีผสมผสานกล้องสองตัวเมื่อเดินทางผ่านพอร์ทัลใน Unity3D
ก่อนที่ฉันจะมาถึงคำถามของฉันฉันรู้ว่าวิธีแก้ปัญหาที่ชัดเจนที่สุดคือการใช้ rect port view ปกติ แต่ฉันต้องการรูปทรงที่ซับซ้อนมากกว่า rectangle และฉันได้ดูการใช้ rect port view และดูเหมือนจะไม่ เป็นทางออกของฉัน แก้ไข: บางคนสับสนกับคำถามของฉันให้ฉันเข้าไปดูรายละเอียดอีกสักหน่อย สิ่งที่เกิดขึ้นคือเมื่อผู้เล่นย้ายไปยังพอร์ทัลหนึ่งฉันสร้างตัวควบคุม FPS ของโคลนและย้ายออกจากที่อื่น มันให้กล้องสองตัวกับฉันและมุมมองที่คุณเห็นทางด้านขวาด้านบน มันเป็นเพียงการแสดงกล้องหนึ่งตัวและตัดผ่านพอร์ทัล สิ่งที่ฉันต้องการคือสิ่งที่คล้ายกับสิ่งนี้ที่กล้องผสมผสานเพื่อสร้างภาพลวงตาของการเปลี่ยนแปลงที่ราบรื่น สิ่งที่ฉันต้องการจะทำคือลบทุกอย่างจากภาพตัวตรวจสอบสีเขียวไปทางซ้ายในภาพด้านล่างและแทนที่ด้วยกล้องตัวอื่น วิธีนี้ทำให้คุณได้รับมุมมองของกล้อง A ที่พุ่งออกมาจากพอร์ทัลผสมผสานกับมุมมองของกล้อง B ที่พุ่งออกมาจากพอร์ทัลอื่นเพื่อให้ได้ภาพที่สมบูรณ์หนึ่งภาพ และในขณะที่คุณเคลื่อนที่ผ่านพอร์ทัลการเปลี่ยนแปลงที่ตัดจะเหมาะสม ฉันออกแบบระบบพอร์ทัลฉันมีทุกอย่างลงรวมถึงการให้ผู้เล่นเลื่อนผ่านพอร์ทัลได้อย่างราบรื่น ปัญหาหลักของฉันตอนนี้คือการทำให้เอฟเฟกต์การผสมผสานของกล้องทำงานได้ดี ฉันต้องการกล้องสองตัวที่ผสมผสานกันอย่างไร้รอยต่อราวกับว่าคุณแหย่ผ่านหน้าประตู และมันไม่เพียงแค่เป็นสี่เหลี่ยมมันต้องจับคู่ แต่ผู้เล่นมองผ่านพอร์ทัล เป้าหมายที่ดีที่สุดของฉันในตอนนี้คือการฉายหน้ากากลึกลงไปในแต่ละพอร์ทัลจากนั้นสร้างกล้องจากพอร์ทัลที่คุณกำลังเดินทางให้ลึกเท่านั้น จากนั้นก็ผสมกล้องสองตัวเข้าด้วยกัน ปัญหาหลักของฉันคือการหาวิธีที่ฉันทำสิ่งนี้วิธีการทำให้กล้องตัวที่สองแสดงเฉพาะสิ่งที่อยู่นอกพอร์ทัล หากคุณสามารถให้ความคิดกับฉันหรืออธิบายว่าฉันจะทำอย่างไรกับ shader หน้ากากแบบลึกที่จะช่วยได้มาก ฉันจะดำเนินการต่อในเรื่องนี้และอัปเดตเมื่อฉันฝ่าฝืน
18 c#  unity  camera  valve  portals 

4
ฉันจะได้รับเอฟเฟกต์แสง 2D ที่ราบรื่นได้อย่างไร
ฉันกำลังสร้างเกมตัวต่อแบบสองมิติใน XNA ปัจจุบันฟ้าผ่าของฉันดูเหมือนว่านี้ ฉันจะทำให้มันเป็นแบบนี้ได้อย่างไร แทนที่จะบล็อกแต่ละบล็อกมีสีของตัวเอง แต่ก็มีการซ้อนทับที่ราบรื่น ฉันสมมติว่ามี shader อยู่บ้างและส่งค่าแสงสำหรับกระเบื้องโดยรอบไปยัง shader แต่ฉันเป็นมือใหม่ที่มีร่มเงาดังนั้นฉันไม่แน่ใจ แสงปัจจุบันของฉันคำนวณแสงจากนั้นส่งผ่านไปยัง a SpriteBatchและวาดด้วยพารามิเตอร์ tint แผ่นกระเบื้องแต่ละอันนั้นมีการColorคำนวณก่อนที่จะวาดในอัลกอริทึมการส่องสว่างของฉันซึ่งใช้สำหรับโทนสี นี่คือตัวอย่างเกี่ยวกับวิธีที่ฉันคำนวณแสงในปัจจุบัน (ฉันทำสิ่งนี้จากซ้ายขวาและล่างเช่นกัน แต่ฉันเหนื่อยมากที่ทำเฟรมนี้เป็นเฟรม ... ) ที่จริงแล้วการได้รับและวาดแสงจนถึงตอนนี้ก็ไม่มีปัญหา ! ฉันได้เห็นบทเรียนมากมายเกี่ยวกับหมอกแห่งสงครามและการใช้การซ้อนทับแบบวงกลมลาดเพื่อสร้างสายฟ้าที่ราบรื่น แต่ฉันมีวิธีที่ดีในการกำหนดค่าสายฟ้าผ่าให้กับกระเบื้องแต่ละอันแล้ว ดังนั้นเพื่อทบทวน คำนวณแสงสว่าง (เสร็จสิ้น) วาดไทล์ (เสร็จแล้วฉันรู้ว่าฉันจะต้องแก้ไขมันสำหรับ shader) Shade tiles (วิธีการผ่านค่าและใช้ "การไล่ระดับสี)

10
C # มีอนาคตในการพัฒนาเกมหรือไม่?
ฉันเพิ่งรู้ว่า MMO Minecraft นั้นขับเคลื่อนโดย Java จากการสัมภาษณ์เมื่อเร็ว ๆ นี้ที่ CVG.co.uk เกี่ยวกับความร่วมมือที่เป็นไปได้ระหว่างเพื่อนร่วมงานสองคนในอดีตและปัจจุบัน ในการสัมภาษณ์เขากล่าวอย่างตรงไปตรงมาว่าผู้ก่อตั้ง Minecraft เป็นผู้ทำโค้ด Java และเขาเป็นรหัส C หรือ C ++ ดังนั้นพวกเขาจึงไม่สามารถเข้ากันได้ ดังนั้นการร่วมมือกับโครงการในอนาคตจึงเป็นเรื่องยาก นี่ทำให้ฉันคิดว่าถ้า Java สามารถทำเช่นนั้น? อนาคตจะเป็นอย่างไรสำหรับ MS ภาษา C # ที่เป็นที่นิยมมากและแพลตฟอร์ม. Net เท่าที่เกมหรือการพัฒนาเกมกระแสหลักเกี่ยวข้อง

7
Lua API ใดที่ทำงานร่วมกับ C # สำหรับพีซีและการพัฒนา XBox 360 ได้หรือไม่? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Game Exchange Stack Exchange ปิดเมื่อปีที่แล้ว ฉันกำลังอ่านหนังสือเกี่ยวกับ Game Development ที่พวกเขาแสดงให้คุณเห็นถึงวิธีการสร้างสคริปต์สำหรับเกมของคุณใน Lua พวกเขาเขียนโปรแกรม Lua และใช้มันจาก C ++ แต่ฉันสงสัยว่ามีไลบรารี่หรือ API ที่ใช้ Lua จาก C #: โดยเฉพาะจาก XNA เพื่อพัฒนาเกมสำหรับพีซีและ XBox 360 หรือไม่?
18 c#  xna  lua  xbox360  pc 

2
เลื่อนกล้อง XNA 2d - ทำไมต้องใช้การแปลงเมทริกซ์?
ฉันกำลังทำเกมทดสอบที่ฉันต้องการให้เลื่อนระดับอย่างต่อเนื่อง ในการสร้างเอฟเฟกต์นี้ฉันได้สร้างคลาสกล้องที่เก็บตำแหน่งเวกเตอร์ 2 และทิศทาง Enum นอกจากนี้ยังมีวิธีการสาธารณะเพื่อ 'ย้าย' ซึ่งเพียงเปลี่ยนตำแหน่งในอัตราคงที่ จากนั้นฉันจะใช้ตำแหน่งนี้เมื่อวนลูปผ่านอาร์เรย์ของกระเบื้องเมื่อวาดภาพ ทั้งหมดนี้ทำงานได้ดี อย่างไรก็ตามฉันได้รับแจ้งว่าฉันควรใช้ Transform matrix เพื่อย้ายกล้องและฉันควรให้สิ่งนี้เมื่อฉันเริ่ม spritebatch ฉันสับสนเล็กน้อย a.) วิธีนี้ทำงานอย่างไร ราวกับว่าฉันจะให้มันก็ต่อเมื่อ spritebatch เริ่มต้นจะรู้ได้อย่างไรว่าจะเปลี่ยนตำแหน่งได้อย่างไร b.) ทำไมฉันยังต้องการตำแหน่งกล้องเมื่อฉันวนผ่านกระเบื้อง? ในขณะที่ฉันไม่สามารถทำงานได้ แต่ก็ไม่แปลกใจเลยที่ฉันไม่เข้าใจวิธีการทำงาน ขณะนี้ฉันกำลังพยายาม (โค้ดให้ติดตาม) กระเบื้องที่กำลังถูกเปลี่ยนแปลงซึ่งหมายถึงตำแหน่งของกล้องกำลังเปลี่ยนแปลง แต่ตำแหน่งของวิวพอร์ตยังคงไม่เปลี่ยนแปลง (เช่นที่จุดเริ่มต้นของกล้อง) ฉันจะขอบคุณคำแนะนำ / คำแนะนำเกี่ยวกับวิธีการใช้งาน กล้อง: class Camera { // The position of the camera. public Vector2 Position { get { return …

1
ผู้เล่นกระวนกระวายใจกับผนังเมื่อกดปุ่มค้างไว้
ดังนั้นฉันจึงสร้าง RPG จากบนลงล่าง ทุกอย่างกำลังดี แต่ปัญหานี้ค่อนข้างน่ารำคาญ ตอนนี้เมื่อตัวละครเคลื่อนไปตามกำแพงผู้เล่นจะกระวนกระวายใจไปมา ฉันเดาว่าเป็นเพราะผู้เล่นพยายามย้ายไปที่กำแพงแล้วกำแพงปะทะกันดันกลับซึ่งทำให้เกิดการเคลื่อนไหวไปมาที่น่ารำคาญ คำถามของฉันชัดเจนฉันจะหยุดสิ่งนี้เกิดขึ้นได้อย่างไร ขอบคุณ! PS: ฉันใช้ transform.translate เพื่อย้ายผู้เล่นและฉันใช้ C # แก้ไข : ฉันยังใช้ 2D Rigidbody และ 2Dbox colliders ทั้งสอง
17 unity  c# 

1
`return return เท็จมีความหมายพิเศษใน Unity3d C # script หรือไม่
ใน Unity เรามีสิ่งพิเศษสำหรับ coroutines ที่เพิ่มเติมจาก C # ปกติ ตัวอย่างเช่นเราสามารถใช้ yield return WaitForSeconds(5.f); เพื่อให้ coroutine รอ 5 วินาทีก่อนดำเนินการต่อ ทำอะไรyield return false;และyield return true;ทำอย่างไร
17 c#  unity 

4
Unity new UI - เปลี่ยนฟังก์ชันที่เรียกใช้โดยองค์ประกอบ GUI แบบไดนามิก
มองการเปลี่ยนแปลงแบบไดนามิกค่าในปุ่ม OnClick และเลื่อนกับค่าเปลี่ยน ถ้าฉันต้องเดาว่าสิ่งนี้ทำได้อย่างไรให้อ้างอิงถึงองค์ประกอบของปุ่ม / gui ถัดไปรับองค์ประกอบสคริปต์ปุ่มและเข้าถึงรายการการเรียกใช้ฟังก์ชันนั้น อย่างไรก็ตามฉันไม่แน่ใจว่าจะแก้ไขรายการนั้นอย่างไร ใครมีความคิดเห็นบ้าง รายละเอียดเพิ่มเติมที่อาจช่วย: ฟังก์ชั่นที่ถูกเรียกนั้นอยู่นอกเหนือจากองค์ประกอบของสคริปต์ การใช้ตัวเลือกตัวแปร 'ไดนามิก' สำหรับตัวเลื่อน สามารถใช้เพื่อสร้างปุ่มแบบไดนามิก
17 c#  unity  gui 

4
เอ็นจิ้นของเกม: วิธีที่เหมาะสมสถาปัตยกรรมที่ชาญฉลาดในการใช้การสนับสนุนสคริปต์?
ฉันกำลังพัฒนาเอ็นจิ้นเกมแบบง่าย ๆ (ใน C # หากเป็นเรื่องสำคัญ) และฉันไม่สามารถคิดวิธีที่เหมาะสมพอที่จะใช้งานสคริปต์ในแง่ของสถาปัตยกรรม มันเป็นกลยุทธ์เทิร์นเบสแบบง่ายพร้อมอนิเมชั่นที่กำหนดเองและเป็นอิสระสำหรับการต่อสู้ มันมีเลเยอร์สถาปัตยกรรมระดับโลกสำหรับระบบ / สิ่งที่อยู่ในระดับต่ำและที่สำคัญที่สุดคือสองโมดูลหลัก - ตรรกะและมุมมองสิ่งที่เกม - ที่สื่อสารโดยใช้ผู้จัดการเหตุการณ์ และสิ่งนี้คือฉันต้องการให้สคริปต์มีผลกับทั้งสองสิ่งที่เกี่ยวข้องกับตรรกะของเกม (การเปลี่ยนพารามิเตอร์หน่วย ฯลฯ ) และสิ่งต่าง ๆ ที่เกี่ยวข้องกับมุมมองเกมเช่นภาพเคลื่อนไหวพิเศษ / บทสนทนาสำหรับการต่อสู้ที่อาจขึ้นอยู่กับ ทริกเกอร์สคริปต์ที่แน่นอน (ตามจริงแล้วฉันต้องการให้สคริปต์ควบคุมการไหลของเกมโดยปล่อยให้เฉพาะกลไกหลัก / กราฟิกไปที่ตรรกะ / มุมมอง แต่ฉันใหม่สำหรับสิ่งนี้ดังนั้นฉันไม่แน่ใจว่าฉันสามารถทำได้ตอนนี้) ฉันคิดถึงสามตัวเลือก: เพียงแค่ปล่อยให้สคริปท์อยู่ในลอจิก แต่ให้รู้เกี่ยวกับด้านกราฟิกของเกม แต่สิ่งนี้จะทำให้การแบ่งตรรกะ / มุมมองที่คลุมเครือไม่ได้ ... ทำให้การสคริปต์เป็นโมดูลแยกต่างหากที่จะแลกเปลี่ยนเหตุการณ์กับผู้อื่นโดยใช้ตัวจัดการเหตุการณ์เดียวกัน แต่สิ่งนี้จะต้องระมัดระวังเป็นอย่างมากเกี่ยวกับการซิงโครไนซ์เหตุการณ์ฉันเดาว่า ... และยังเพิ่มประเภทของเหตุการณ์ที่มากมายให้กับผู้จัดการ (ยังชื่นชอบส่วนตัว) ทำให้การเขียนสคริปต์เป็นโมดูลเหนือสิ่งอื่นใดดังนั้นจึงสามารถส่งผลโดยตรง / ฟังก์ชั่นการโทรของลอจิก / มุมมอง สิ่งนี้จะช่วยให้การทำงานที่กว้างขึ้นอย่างแท้จริงโดยมีค่าใช้จ่ายในการคาดการณ์รูปแบบการแลกเปลี่ยนเหตุการณ์ทั้งหมดและกลัวว่าสคริปต์สามารถทำลายสิ่งต่าง ๆ …

3
รู้จัก clickbox หกเหลี่ยม
ฉันกำลังทำงานในเกมที่จะเกี่ยวข้องกับอ้าปากค้างรูปหกเหลี่ยม ในปัจจุบันฉันมีรูปหกเหลี่ยมที่ฉันใช้ (ทุกด้านยาวเท่ากัน ... มันพอดีกับภาพ 50px คูณ 50px) ฉันค่อนข้างใหม่กับ C # และใหม่จริง ๆ กับ XNA แต่มีวิธีการง่ายๆที่ฉันสามารถโทรหาได้มากกว่าที่จะทำข้อตกลงที่ซับซ้อนหากคำสั่งอิงตามจุดและมุม?
17 c#  xna  hexagonal-grid 

4
XNA 3.1 และ 4.0 แตกต่างกันอย่างไร? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันอยู่ห่างจาก XNA สองสามเดือนและต้องการกลับเข้าไปใหม่ ฉันมีเกมที่ฉันกำลังทำงานอยู่ แต่มันทำใน XNA 3.1 อะไรคือความแตกต่างระหว่างทั้งสองและมันคุ้มค่าการอัพเดต
17 xna  c#  xna-4.0 

7
UI จำลองกับโค้ด
นักออกแบบ UI ของฉันทำ Photoshop PSD ที่น่ารักของ UI และทุกอย่างสวย ปัญหาที่ใหญ่ที่สุดที่ฉันมีคือการแปลงฟอนต์ที่สวยงามกว่าที่ใช้เป็นสิ่งที่แสดงในเกมได้ มีวิธีการแปลงรูปแบบตัวอักษรเหล่านี้ใน Photoshop เป็นแบบอักษรบิตแมปของการจัดเรียงบางอย่าง? ฉันต้องสามารถแสดงข้อความเช่นนี้ในรหัสของฉัน:
17 xna  c#  gui  fonts 

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

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