- XNA 4.0 Game Development by Example Beginner's Guide(Visual Basic Edition)
- Kurt Jaegers
- 289字
- 2021-08-20 15:50:35
Time for action – draw SquareChase!
- Alter the
GraphicsDevice.Clear(Color.CornflowerBlue)
call and replaceColor.CornflowerBlue
withColor.Gray
to make the game a bit easier on the eyes. - Add the following code after the call to clear the display:
spriteBatch.Begin() spriteBatch.Draw( squareTexture, currentSquare, colors(playerScore Mod 3)) spriteBatch.End()
What just happened?
Any time you use a SpriteBatch
object to draw to the display, you need to wrap the calls inside a Begin()
and End()
pair. Any number of calls to spriteBatch.Draw()
can be included in a single batch, and it is common practice to simply start a Begin()
at the top of your Draw()
code, use it for all of your drawing, and then End()
it right before the Draw()
method exits. While not benefiting our SquareChase
game, batching sprite drawing calls greatly speeds up the process of drawing a large number of images, by submitting them to the rendering system all at once instead of processing each image individually.
The SpriteBatch.Draw()
method is used to draw a Texture2D
object to the screen. There are a number of different options for how to specify what will be drawn. In this case, the simplest call requires a Texture2D
object (squareTexture
), a destination Rectangle (currentSquare
), and a tint color to apply to the sprite. The expression "playerScore
Mod
3
" takes the player's score, divides it by 3, and returns the remainder. The result will always be 0
, 1
, or 2
. This fits perfectly as an index to the elements in the colors array, allowing us to easily change the color of the square each time the player catches one.
Finally, the spriteBatch.End()
tells XNA that we have finished queuing up sprites to draw and it should actually push them all out to the graphics card.
- MySQL高可用解決方案:從主從復制到InnoDB Cluster架構
- 數據庫基礎教程(SQL Server平臺)
- 深度剖析Hadoop HDFS
- 基于OPAC日志的高校圖書館用戶信息需求與檢索行為研究
- Python數據分析與挖掘實戰(第3版)
- Solaris操作系統原理實驗教程
- 二進制分析實戰
- 活用數據:驅動業務的數據分析實戰
- Mastering ROS for Robotics Programming(Second Edition)
- 商業智能工具應用與數據可視化
- 算法設計與分析
- Oracle 11g數據庫管理員指南
- 數據中臺實戰:手把手教你搭建數據中臺
- 大數據隱私保護技術與治理機制研究
- Practical Convolutional Neural Networks