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

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

2
มรดกเทียบกับองค์ประกอบ
ฉันทำเงินของฉันเป็นภาษา C # โดยทั่วไปแล้วในภาษานั้นฉันชอบที่จะแยกทุกสิ่งออกสู่สวรรค์ชั้นสูงโดยใช้อินเทอร์เฟซ สิ่งนี้ให้บริการฉันเป็นอย่างดีในรหัสองค์กร แต่ในการเขียนเกมใน C # ฉันพบว่าตัวเองพุ่งเข้าหาการสืบทอดเนื่องจากความสามารถในการกำหนดพฤติกรรมเริ่มต้นบางอย่างสำหรับคลาสพื้นฐาน ฉันรู้สึกสกปรกที่ทำสิ่งนี้แม้ว่าฉันจะไม่เชื่อฟังพระเจ้าสถาปัตยกรรมผู้ซึ่งเคยกล่าวไว้ว่า ฉันรู้ว่ามันไม่ใช่ขาวดำ แต่ฉันก็รู้สึกเหมือนว่าฉันสามารถใช้อินเทอร์เฟซที่มีงานมากขึ้นและบรรลุสิ่งเดียวกัน คนอื่นทำอะไร การสืบทอดเป็นวิธีการที่เหมาะสมสำหรับเกมหรือฉันควรปรับโครงสร้างในส่วนต่อประสานบางส่วนหรือไม่
16 c#  architecture 

3
แผนที่ง่าย ๆ สี่ biomes และวิธีการแจกจ่าย
นี่คือแนวคิดพื้นฐาน: ฉันมีเกม Rogue-ish บางที Dwarf Fortress-ish ที่มีการสุ่มสร้างทางตรงข้ามและทางเข้าดันเจี้ยนหลายทางที่กระจัดกระจายอยู่รอบ ๆ ฉันมีคุกใต้ดินอยู่แล้วโดยทั่วไปแล้ว แต่ฉันติดอยู่กับแง่มุมของทางตรงข้าม ในทางตรงข้ามซึ่งถือว่าเป็นแผนที่ 2 มิติของหน้าจอควรจะมีการกระจายที่คล้ายหยดสี่ชุดรูปแบบหรือ biomes ที่แตกต่างกัน - ทุ่งหญ้า, ทะเลทราย, หิมะและบึงแต่ละคนมีจำนวนหน้าจอของตัวเอง สมมติว่าแผนที่เป็น 8x8 ซึ่งมีหน้าจอที่ไม่ซ้ำกัน 64 แบบ ครึ่งหนึ่งของเหล่านั้นอาจเป็นทุ่งหญ้าทะเลทรายหนึ่งในสี่และป่าพรุและหิมะจะได้รับหนึ่งในสี่: ดูเหมือนว่าการลดจานสีทำให้หิมะมีสีเดียวกับบึง ในขั้นต้นมีหน้าจอหิมะแปดตัวที่มุมด้านล่างและพื้นที่พรุทั้งแปดจอที่อยู่ตรงกลางเล็กน้อย ขออภัยเป็นอย่างนั้นและโปรดละเว้นเครื่องหมายตำแหน่ง สิ่งที่ดีที่สุดที่ฉันจะได้รับคือรูปทรงบางอย่างที่มักจะเพียงพอและมีการผสมผสานที่ไร้สาระเช่นทะเลทรายที่สาดผ่านหิมะ (หรือในทางกลับกัน) ฉันไม่สามารถใช้ชีวิตของฉันเพื่อหาวิธีที่จะทำให้มันดีและ blobby ให้อยู่คนเดียวถ้ามันทำให้รู้สึกภูมิอากาศ (?) ดังนั้นฉันจะสร้างแผนที่ biome เหมือนใน mockup ได้อย่างไร โอเคตามคำขอ: โลกไม่ใหญ่กว่าตัวอย่างมากและสิ่งที่ฉันต้องการก็เป็นเพียงวิธีกระจาย blobs บางอย่างที่กำหนดลักษณะที่ปรากฏโดยมีข้อ จำกัด พิเศษที่หิมะไม่สามารถสัมผัสทะเลทราย หน้าจอไม่เลื่อนและหากตั้งค่าหน้าจอเป็น "ทะเลทราย" จะไม่มีหญ้าบนหน้าจอเลย

1
สิ่งประดิษฐ์แผนที่เงา
ฉันต้องการลองเพิ่มเงาให้กับเกม 3D XNA ฉันได้ตั้งค่าสภาพแวดล้อมการทดสอบด้วยแสงเดียวและกล้องหนึ่งตัว อย่างไรก็ตามฉันพบสิ่งประดิษฐ์ด้วยวิธีการของฉัน ฉันใช้รหัส shader จากhttp://pastebin.com/zXi0hmsUเพื่อแสดงผลลัพธ์สุดท้ายและ http://pastebin.com/rY4Gcj9Nเพื่อสร้างแผนที่เงา รหัสตรงไปตรงมาและเกี่ยวข้องกับการผลิตความลึกจากมุมมองของแสงจากนั้นฉายลงในพื้นที่กล้องและตรวจสอบเพื่อหาข้อสรุป อย่างไรก็ตามจากมุมส่วนใหญ่ฉันได้ผลลัพธ์ที่น่าเกลียด ฉากประกอบด้วยลูกบาศก์ง่าย ๆ บางส่วน (สร้างขึ้นด้วยมือหันหน้าไปทางด้านนอกด้านหลังถูกคัดออก) แสงหนึ่งดวง (แผนที่เงาที่แสดงที่มุมบนซ้าย - ดูโอเค) และกล้องหนึ่งตัว RenderTarget ของฉันสำหรับแผนที่เงาถูกเตรียมใช้งานโดย int shadowMapSize = 512; RenderTarget2D shadowMap = new RenderTarget2D(GraphicsDevice, shadowMapSize, shadowMapSize, true, GraphicsDevice.PresentationParameters.BackBufferFormat, DepthFormat.Depth24Stencil8); GraphicsDevice.SetRenderTarget(shadowMap); GraphicsDevice.Clear(Color.White); GraphicsDevice.DepthStencilState = DepthStencilState.Default; หลังจากนั้นCreateShadowMapจะใช้เอฟเฟกต์ตามด้วยเอฟเฟกต์ LambertWithShadows SpriteBatchสุดท้ายแผนที่เงาจะถูกดึงมาใช้ ส่วนที่เหลือของรหัสประกอบด้วยเพียงแค่ให้ค่าที่ถูกต้องให้กับเฉด หากจำเป็นฉันสามารถให้บริการได้เช่นกัน

4
วิธีทำให้สีบางส่วนของแบบจำลอง - เหมือนเกม RTS มีสีของทีมเหล่านั้น
ฉันต้องการใช้สิ่งที่เราเห็นในเกม RTS: สีของทีม โดยทั่วไปฉันกำลังมองหาวิธีที่จะทำให้สีบางส่วนของแบบจำลอง ฉันจะทำสิ่งนี้ได้อย่างไร ฉันไม่รู้ว่าจะเริ่มจากตรงไหน ฉันจำเป็นต้องทำการปรับเปลี่ยนโมเดล 3 มิติก่อนหรือไม่?
16 xna  c# 

9
อัลกอริทึมเส้นทางแบบไดนามิกสำหรับเกมป้องกันหอ
ฉันสร้าง Tower Defense และฉันต้องการอัลกอริทึม pathing ที่ดีสำหรับมัน ฉันคิดเกี่ยวกับ Dijkstra แต่ฉันต้องการสิ่งที่สามารถเปลี่ยนแปลงได้ จะต้องสามารถอัปเดตตัวเองได้เมื่อขอบหนึ่งถูกลบหรือเพิ่มโดยไม่มีการคำนวณใหม่ทั้งหมด ฉันกำลังเขียนโปรแกรมใน C # ถ้ามันช่วย

6
วิธีแยกความแตกต่างคลิกครั้งเดียวและดับเบิลคลิกอย่างถูกต้องใน Unity3D โดยใช้ C #
สิ่งที่ฉันพยายามที่จะเข้าใจและเรียนรู้ที่นี่เป็นสิ่งที่เป็นพื้นฐาน: สิ่งที่เป็นวิธีทั่วไปมากที่สุดและมากที่สุดในการขัดถูกต้องความแตกต่างคลิกเดียวและสองคลิกสำหรับ 3 ปุ่มเมาส์หลักในความสามัคคีโดยใช้ C #? การเน้นที่คำว่าถูกต้องไม่ใช่เพื่ออะไร แม้ว่าฉันจะประหลาดใจที่สิ่งนี้ดูเหมือนจะไม่เคยถูกถามในเว็บไซต์นี้มาก่อนแน่นอนว่าฉันค้นหาและพบคำถามที่คล้ายกันมากมายในฟอรัมของ Unity และหน้าตอบคำถามของ Unity อย่างไรก็ตามเนื่องจากเป็นกรณีที่มีคำตอบที่โพสต์ไว้ในแหล่งข้อมูลเหล่านี้พวกเขาทั้งหมดดูเหมือนจะผิดธรรมดาหรืออย่างน้อยก็ชำนาญเล็กน้อย ให้ฉันอธิบาย วิธีแก้ปัญหาที่เสนอมักจะมีสองวิธีและข้อบกพร่องที่สอดคล้องกัน: ทุกครั้งที่มีการคลิกเกิดขึ้นให้คำนวณเดลต้าเวลาตั้งแต่คลิกสุดท้ายและหากมีขนาดเล็กกว่าเกณฑ์ที่กำหนดระบบจะตรวจจับการคลิกสองครั้ง อย่างไรก็ตามวิธีการแก้ปัญหานี้ส่งผลให้มีการตรวจพบการคลิกครั้งเดียวอย่างรวดเร็วก่อนที่จะตรวจพบดับเบิลคลิกซึ่งไม่เป็นที่พึงปรารถนาในสถานการณ์ส่วนใหญ่เพราะจะเปิดใช้งานการกระทำทั้งคลิกเดียวและดับเบิลคลิก ตัวอย่างหยาบ: float dclick_threshold = 0.25f; double timerdclick = 0; if (Input.GetMouseButtonDown(0) { if (Time.time - timerdclick) > dclick_threshold) { Debug.Log("single click"); //call the SingleClick() function, not shown } else { Debug.Log("double click"); //call the …
15 c#  unity  mouse 

1
ฉันจะป้องกัน XNA ไม่ให้หยุดการอัปเดตชั่วคราวในขณะที่กำลังปรับขนาด / ย้ายหน้าต่างได้อย่างไร
XNA หยุดการโทรUpdateและDrawในขณะที่หน้าต่างเกมกำลังถูกปรับขนาดหรือย้าย ทำไม? มีวิธีป้องกันพฤติกรรมนี้หรือไม่? (มันทำให้รหัสเครือข่ายของฉันยกเลิกการซิงโครไนซ์เนื่องจากข้อความเครือข่ายไม่ถูกปั๊ม)
15 xna  c#  xna-4.0  win32 

6
วิธีทำให้ตัวละครของฉันลื่นไหลขณะเดินบนเส้นทาง (รายการพิกัด)
ฉันมีรายการที่มีพิกัด - เอาต์พุตจากอัลกอริทึม A * และฉันต้องการทำให้ตัวละครของฉันเดินตามเส้นทางนี้อย่างราบรื่นด้วยการหมุน ดังนั้นฉันมีบางอย่างเช่นAและฉันต้องการได้C ฉันจะทำสิ่งนี้ได้อย่างไร แก้ไข หากต้องการทำให้ตัวเองชัดเจนยิ่งขึ้น: ฉันสนใจที่จะหมุนอย่างราบรื่นมากขึ้นเนื่องจากฉันรู้วิธีการเดินจากโหนดหนึ่งไปอีกโหนดหนึ่ง แก้ไข หลายคนพบว่ามีประโยชน์ (ฉันด้วย) ฉันกำลังโพสต์ลิงก์ไปยัง "ธรรมชาติของรหัส" ของ Daniel Shiffman ซึ่งเขาพูดถึงปัญหา AI (และฟิสิกส์) ของเกมเช่นปัญหาพฤติกรรมพวงมาลัยhttp://natureofcode.com/book/chapter- 6 อิสระตัวแทน / # chapter06_section8
15 c#  unity  path-finding 

9
ฉันควรเรียนรู้เกี่ยวกับ XNA อย่างไร [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันต้องการเริ่มเรียนรู้วิธีสร้างเกมใน XNA แต่ฉันไม่รู้ว่าจะเริ่มจากตรงไหน! หากมีใครสามารถแนะนำฉันเกี่ยวกับซอฟต์แวร์ที่ฉันต้องการและหนังสือหรือแบบฝึกหัดที่ดีในการดูว่าจะเป็นประโยชน์มากที่สุด สำหรับความรู้เกี่ยวกับการเข้ารหัสปัจจุบันของฉันฉันมีประสบการณ์ที่ดีกับ Javascript (ร่วมกับผ้าใบ HTML5) ฉันค่อนข้างมั่นใจว่าฉันจะต้องเรียนรู้รหัส C # ด้วย XNA ด้วยดังนั้นโปรดระลึกไว้เสมอ
15 xna  c# 

2
ฉันจะติดตั้งไฟในเครื่องยนต์ voxel ได้อย่างไร
ฉันกำลังสร้าง MC เหมือนเครื่องยนต์ภูมิประเทศและฉันคิดว่าแสงจะทำให้มันดูดีขึ้นมากปัญหาคือบล็อกไม่สว่างอย่างเหมาะสมเมื่อวางบล็อกที่ปล่อยแสง (ดูภาพหน้าจอที่ด้านล่าง บนหน้า จนถึงตอนนี้ฉันต้องการใช้แสง "บล็อก" ของ minecraft ดังนั้นฉันจึงสร้าง VertexFormat: struct VertexPositionTextureLight { Vector3 position; Vector2 textureCoordinates; float light; public readonly static VertexDeclaration VertexDeclaration = new VertexDeclaration ( new VertexElement(0, VertexElementFormat.Vector3, VertexElementUsage.Position, 0), new VertexElement(sizeof(float) * 3, VertexElementFormat.Vector2, VertexElementUsage.TextureCoordinate, 0), new VertexElement(sizeof(float) * 5, VertexElementFormat.Single, VertexElementUsage.TextureCoordinate, 1) ); public …
15 c#  xna  lighting  raycasting 

1
การสร้างแผนที่ 3 มิติสำหรับ XNA
มีใครรู้บ้างเกี่ยวกับการสอนแผนที่ 3 มิติที่ดี (วิธีการนำเข้าและใช้แผนที่) โดยใช้ XNA โดยไม่ต้องใช้เครื่องมือใด ๆ แต่ไม่ จำกัด เฉพาะแอปพลิเคชันภายนอก (เช่น Tiled สำหรับแผนที่ 2D) ฉันทำการค้นหาที่นี่ แต่ไม่พบสิ่งใดต่อแผนที่ xna 3d เพียง 2d PS: ฉันกำลังมองหาเนื้อหาที่สามารถอ่านออนไลน์ได้โดยไม่มีค่าใช้จ่ายถ้าเป็นไปได้ ฉันสนใจที่จะรู้เนื้อหาอื่น ๆ ที่เกี่ยวข้องกับหัวข้อนี้และสิ่งที่ Ricket สนับสนุน ขอแสดงความนับถืออย่างสูง.
15 3d  xna  c#  maps 

2
ความแตกต่างระหว่างแบ็กเอนด์สคริปต์ unity IL2CPP และ Mono2x
IL2CPPเป็นแบ็คเอนด์สคริปต์ที่พัฒนาโดย Unity ซึ่งคุณสามารถใช้เป็นทางเลือกแทน Mono เมื่อสร้างโปรเจ็กต์สำหรับบางแพลตฟอร์ม หมายเหตุ - IL2CPP จะใช้ได้เฉพาะเมื่อสร้างสำหรับแพลตฟอร์มต่อไปนี้: Android AppleTV, iOS *, Nintendo 3DS, สวิตช์ Nintendo, Playstation 4 Playstation Vita, WebGL *, Windows Store, Xbox One ฉันมีโครงการ (unity 5.2) ซึ่งได้เปลี่ยนมาใช้งานสำหรับ Android ฉันพยายามสลับสคริปต์ของฉันที่สำรองไว้จากMono2xเป็นIL2CPPและแสดงให้ฉันเห็นว่า IL2CPP บน Andriod ทดลองและไม่ได้รับการสนับสนุน ดังนั้นคำถามง่ายๆของฉันคือถ้ามันยังไม่ได้รับการสนับสนุนทำไมตัวเลือกถึงรวมแล้วความแตกต่างพื้นฐานระหว่าง IL2CPP และ Mono2x คืออะไร เหตุใดฉันจึงเปลี่ยนมาใช้แบ็กเอนด์การเขียนสคริปต์IL2CPP ข้อดีและข้อเสียของมันคืออะไร? ฉันได้ตรวจสอบด้วยความสามัคคี 5.5.2 ไม่มีตัวเลือก IL2CPP ในการปรับใช้แพลตฟอร์ม Windows
15 unity  c#  mono  il2cpp 

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

4
วิธีการอ่านข้อมูลจากไฟล์ข้อความในเอกภาพ
ทุกคนสามารถช่วยฉันด้วยการทำตามขั้นตอนที่จำเป็นสำหรับการอ่านข้อมูลจากไฟล์ข้อความด้วยความสามัคคีและจะเพิ่มสคริปต์ได้อย่างไร
14 c#  unity  file 

2
ฉันจะสร้างระเบิดระเบิดใน Farseer ที่ผลักวัตถุใกล้เคียงออกไปได้อย่างไร
ฉันพยายามสร้างระเบิดใน Farseer ฉันสร้างวงกลมสำหรับระเบิด อย่างไรก็ตามหากระเบิดระเบิดวัตถุ (ร่าง) ที่อยู่รอบ ๆ ควรบินหนีเพราะมันถูกผลักกลับด้วยแรงระเบิดมหาศาล ฉันไม่แน่ใจว่าจะสร้างแรงนั้นได้อย่างไร - ฉันจะทำมันได้อย่างไร

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