回答
這確實取決於它是否是一個3D或2D遊戲,但我認爲這些教程應包括這樣兩個效果的方式:
http://rbwhitaker.wikidot.com/3d-tutorials
http://rbwhitaker.wikidot.com/2d-tutorials
對於三維碰撞檢測,您可以使用BoundingBox物體來近似一個光周期,並且可能還有一個BoundingSphere也可以派上用場.4
編輯:
凡LightEmitter
是Vector2其中的線索會出來,
LightTrail
是與光路徑的1個像素寬的部分一個Texture2D,
LastEmitterPos
是表示Vector2的LightEmitter
和小徑的最後一個位置是RenderTarget2D其RenderTargetUsage
設置爲RenderTargetUsage.PreserveContents
:
例如繪製方法:
GraphicsDevice.SetRenderTarget(Trails);
spriteBatch.Begin();
for (float i = 0; i <= (LightEmitter - LastEmitterPos).Length(); i++)
{
Vector2 Pos = Vector2.Lerp(LastEmitterPos, LightEmitter, i/(LightEmitter - LastEmitterPos).Length());
spriteBatch.Draw(LightTrail, Pos, new Rectangle(0, 0, 32, 3), Color.White, MathHelper.ToRadians(90.0f), new Vector2(16, 1.5f), 1.0f, SpriteEffects.None, 1f);
}
spriteBatch.End();
GraphicsDevice.SetRenderTarget(null);
spriteBatch.Begin();
spriteBatch.Draw(Trails, Vector2.Zero, Color.White);
spriteBatch.End();
base.Draw(gameTime);
有一些毛刺和很多這裏需要優化的,但我敢肯定,這可以給你一個好主意什麼方向去,或者至少有點。的鼓勵,如果沒有別的;)
遊戲會在2D – Mike 2011-12-18 00:41:54
你可以爲效果平鋪紋理,並使用Rectangles與Rectangle.Intersects()進行碰撞檢測,這裏是一個鏈接:http:// msdn .microsoft.com/en-us/library/system.windows.shapes.rectangle.aspx – annonymously 2011-12-18 00:53:01
我嘗試過使用矩形,但是當你爲每個玩家獲得數百個遊戲時,即不管它是否會減慢遊戲速度,也就是說,每當他們改變方向時? – Mike 2011-12-18 01:03:21
對於2D遊戲,矩形是一種快速/簡單的方法來獲得基本的碰撞檢測。
MSDN文章here
既然你只需要設置矩形邊界的每個對象要檢測碰撞,然後測試Rectangle1.Intersects(Rectangle2)
條件,看看他們接觸。
由於矩形不會繞過角落,它們將如何鏈接? – Mike 2011-12-18 00:43:28
對於圓角部分我找到了一篇他們似乎可以解決這個問題的文章。 [here](http://gamedev.stackexchange.com/questions/13268/rounded-corners-in-xna)。 不,我不認爲使用大量的矩形會減慢您的遊戲速度,將它看作是無形地繪製在現有小精靈上的其他精靈,並且跟隨移動的精靈。 – phadaphunk 2011-12-18 02:44:00
- 1. C#Winform XNA Collision
- 2. Pong Collision Pygame
- 3. Java tron Collision,Combobox
- 4. MonoGame + TiledSharp Collision
- 5. Ball to Ball Collision
- 6. Collision detection&animateWithDuration
- 7. React Leaflet Collision
- 8. Jbox2D isSensor for NPC collision
- 9. Collision Resolving - Point outside Circle
- 10. IEEE 802.11 RTS/CTS Collision
- 11. SKPhysicsbody error on collision swift
- 12. OpenGL C++ Circle vs Circle Collision
- 13. Hackage name collision with extra-deps
- 14. C++ 2D Box-Collision,是嗎?
- 15. jQuery Collision Plugin for game character/div
- 16. Box2D Collision Filtering with Simultaneous Collisions
- 17. Bullet physics Cylinder to Box collision
- 18. Box2d Collision Detction - 分辨碰撞的邊緣?
- 19. NoClassDefFoundError:org/jbox2d/collision/shapes/netbeans中的形狀
- 20. [Android] min3d -collision檢測和一些東西
- 21. JQuery Collision。獲取碰撞的元素?
- 22. Swift Collision邊界不起作用
- 23. GameMaker Collision工作速度太快
- 24. ffmpeg auto dection portrait然後做必要的翻轉
- 25. 機器人/履帶Dection在ASP.NET <browserCaps> VS .browser
- 26. xna中的NullReferenceException
- 27. 在XNA中創建牆壁
- 28. XNA選擇Game.Components的分組
- 29. C#:XNA vs無XNA(性能)
- 30. 學習XNA 3.1對XNA 4.0
我不認爲你會得到任何有用的答案,像這樣的問題。這是非常模糊的。你需要更具體。另外 - 渲染和碰撞檢測是兩個不同的問題,所以你應該單獨向他們詢問IMO。 – 2011-12-17 16:59:01
是3d嗎?或2d? – 2011-12-17 20:11:10
是2d @SteveH – Mike 2011-12-18 00:45:45