Major Softwares

  INDEX PAGE

  1. 簡介
  2. Java, Android和LibGDX好書推介
  3. Java, Android和LibGDX要學的知識
  4. 用Windows寫Java程式
  5. 用Eclipse寫Java程式
  6. 用Eclipse寫Android程式
  7. 用Eclipse寫LibGDX程式
  8. Standard Java Naming Conventions
  9. System.out.println()的用法和意思
  10. Where is main() method in Android?

LibGDX - Splash & Menu Screen

  1. LibGDX: World, Texture, Background, Camera, Viewport, Screen & OpenGL
  2. LibGDX: Texture, TextureRegion, SpriteBatch & Sprite
  3. UML(Unified Modeling Language): Class Diagram
  4. Type Casting, Upcasting & Downcasting
  5. @Override的用法和意思
  6. LibGDX: Scene2d & Graphical User Interface(GUI)
  7. LibGDX: Splash Screen
  8. LibGDX: Texture Packer
  9. LibGDX: BitmapFonts, JSON & Skin
  10. Android: R.java File
  11. Android: onClick事件的5種實現方式
  12. LibGDX: Game Menu Screen
  13. LibGDX: Advanced Game Menu Screen (using Abstract Screen)
  14. LibGDX: Disposable Interface
  15. Java & LibGDX: super keyword
  16. LibGDX: Advanced Game Menu Screen (using AssetManager)
  17. Java: Array, Arrays, List, ArrayList & LibGDX: Array
  18. LibGDX: File I/O (Preferences)
  19. LibGDX: Game Level Selection Screen
  20. LibGDX: Advanced Game Level Selection Screen (using AssetManager)

LibGDX - Tiled 2D Platform Game

  1. LibGDX: Lifecylce (Render() Method)
  2. LibGDX: Delta Time
  3. LibGDX: Animation & Spritesheet
  4. LibGDX: Keyboard, Mouse & Touch Screen Control
  5. Input Control (Polling VS Event Driven Input)
  6. LibGDX: Tiled (Background and Foreground)
  7. LibGDX: Jumping Action
  8. LibGDX: Tiled (Collision Detection)
  9. LibGDX: Tiled (Bullet Class)
  10. LibGDX: Audio (Sound & Music)
  11. LibGDX: Tiled (Scrollable Background with Camera & HUD)
  12. LibGDX: WorldController & WorldRenderer Class

LibGDX/Java - Card Game No.1 - Blackjack

  1. LibGDX: Install & Setup Android Studio IDE
  2. LibGDX: Use Android Studio to Run Java Hello World
  3. LibGDX: Use Android Studio to Run LibGDX Hello World
  4. Adobe Illustrator: Basic Components Part 1
  5. Adobe Illustrator: Basic Components Part 2
  6. Adobe Illustrator: BlackJack Table & Cards
  7. LibGDX: Blackjack Animation
  8. LibGDX: Interpolation
  9. Java: toString() Method
  10. Java: Blackjack Shuffle Methods
  11. LibGDX: Blackjack Shuffle Method
  12. Java: Blackjack Card Game

LibGDX - Others

  1. Making and Displaying App Icon
  2. LibGDX: Displaying Traditional and Simplified Chinese Characters
  3. LibGDX: Handling Different Screen Resolutions

Unity Game Engine & C#

  1. Visual Studio: C# Hello World
  2. Unity: C# Hello World
  3. Unity: Handling Different Screen Resolutions
  4. Unity: Life Cycle
  5. Unity: StartCoroutine, StopCoroutine, IEnumerator & Yield
  6. Unity: Splash Screen
  7. Unity: Fonts, Traditional and Simplified Chinese Characters
  8. Unity: GameObject, Class Object, new & Instantiate
  9. Unity: Start Screen with Glowing Animated Button
  10. Unity: C# Get & Set Modifier
  11. Unity: Delegates & Events
  12. Unity: File I/O, Read & Write Text File & PlayerPrefs
  13. Unity: Game Level Selection Screen
  14. Unity: Game Menu Screen & ScreenManager
  15. Unity: Encrypt and Decrypt Text File
  16. Unity: Options Menu Screen
  17. Unity: Convert Numbers Image to Custom Font

Unity - Card Game No.1 - Blackjack

  1. Unity: Blackjack Card Game - Part 1 (Full Game)
  2. Unity: Blackjack Card Game - Part 2
  3. Unity: Blackjack Card Game - Part 3
  4. Unity: Blackjack Card Game - Part 4
  5. Unity: Blackjack Card Game - Part 5
  6. Unity: Blackjack Card Game - Part 6
  7. Unity: Blackjack Card Game - Part 7

以下是預告-Coming soon!


Secret Weapon No.1

  1. Unity: Card Game No.2

Advanced Programming

  1. Unity: GPS Programming
  2. Unity: User Login System
  3. Unity: Augmented Reality (AR)

Secret Weapon No.2

  1. Unity: GPS & AR Application

第76節 - Unity: Blackjack Card Game - Part 2

這一節我會介紹Unity: Blackjack Card Game - Part 2,即是Step by Step介紹整個Unity: Blackjack Card Game的製作過程,我會把整個製作過程分為幾節。

Step By Step Tutorial

以下會詳細介紹每一個步驟:

1. Resources - Graphics, Music & Sound Files

Unity: Blackjack Card Game - Part 2
  1. 建立一個新檔案 - MyDeom76。

  2. 在Assets區域內建立一個Resources/Images Directory。

  3. 把所有圖片和音樂檔案拖放到Images內。

以下會用一張SpriteSheet製作每52張紙牌和一張底牌:

Unity: Blackjack Card Game - Part 2
  1. 選擇Cards圖片。

  2. 選擇Sprite Mode > Multiple。

  3. 設定Pixels Per Unit = 1。

  4. 選擇Sprite Editor。

Unity: Blackjack Card Game - Part 2
  1. 選擇Slice。

  2. 選擇Type = Grid By Cell Count、Column = 13和Row = 5。

  3. 按Slice。

  4. 按Apply。

Unity: Blackjack Card Game - Part 2
  1. 52張紙牌和一張底牌就會自動製作完成。

2. Handling Different Screen Resolutions

Unity: Blackjack Card Game - Part 2
  1. 選擇Main Camera。

  2. 設定Orthographic Size = 1080/2 = 540。

  3. 設定Depth = -1。

    注意: 設定Main Camera Depth=-1,因為我們將會建立一個新的Camera,它的Depth=-2,這樣做新的Camera就會在Main Camera在Camera的前面,我們就可以設定新的Camera的背景顏色。

  4. 把MyCamera Script拖放到Main Camera內。

    注意: MyCamera Script會在下幾節詳細介紹。

Unity: Blackjack Card Game - Part 2
  1. 按2D。

  2. 可以看到Main Camera的3D位置。

Unity: Blackjack Card Game - Part 2
  1. 建立一個新的Camera。

  2. 設定Orthographic Size = 1080/2 = 540。

  3. 設定Depth = -2。

    注意: 設定Main Camera Depth=-1,因為新的Camera Depth=-2,這樣做新的Camera就會在Main Camera在Camera的前面,我們就可以設定新的Camera的背景顏色。

Unity: Blackjack Card Game - Part 2
  1. 按2D。

  2. 可以看到新的Camera的3D位置。

Unity: Blackjack Card Game - Part 2
  1. 設定designAR = 1080.0f/1920.0f。

    注意: 其他地方不須更改。

Unity: Blackjack Card Game - Part 2
  1. 把屏幕大小更改為1024 X 768測試結果。

Unity: Blackjack Card Game - Part 2
  1. 把屏幕大小更改為800 X 1280測試結果。

3. Making Cards Prefab

以下會製作一個Cards Prefab,之後Main Deck、Dealer Deck和Player Deck就可以用Cards Prefab來產生Cards Object:

Unity: Blackjack Card Game - Part 2
  1. 建立一個新的2D Object > Sprite。

  2. 在Assets區域內建立一個Resources/Prefabs Directory。

  3. 把CardsPrefab檔案拖放到Prefabs內。

  4. 把CardsPrefab Script拖放到Camera內,再把剛剛製作好的52張紙牌拖放到Faces array內。

    注意: CardsPrefab Script會在下幾節詳細介紹。

  5. 再把剛剛製作好的一張底牌拖放到Card Back內。

    注意: CardsPrefab Script會在下幾節詳細介紹。

  6. 當我們更改了的CardsPrefab Object的內容,如果按Apply,Prefab的內容就會同步更新。

Unity: Blackjack Card Game - Part 2
  1. 建立所有public variable。

  2. 用GetComponet<T>()方法提取SpriteRenderer物件 - spriteRenderer。

  3. 建立ToogleFace()方法,它用來顯示52張紙牌和一張底牌到屏幕上。

  4. 建立MoveCard()方法,它用來移動紙牌。

  5. 建立FlipCard()方法,它用來翻動紙牌。