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

第59節 - Unity: C# Hello World

這一節我會介紹在Unity內用以下方法寫Hello World程式:

例子1) 在Unity內建立一個Script(腳本),利用預設的Viusal Studio IDE開啟Script,再利用C#語言寫Unity Console Hello World程式。

例子2) 在Unity內建立一個Script,利用內置(built-in)的另一個選擇MonoDevelop IDE開啟Script,再利用C#語言寫Unity Console Hello World程式。

例子3) 在Unity內執行Scene(場景)的Hello World程式。

例子4) 在Android智能電話上執行以上例子3的Unity Scene Hello World程式。

例子1) 在Unity內建立一個Script,利用預設的Viusal Studio IDE開啟Script,再利用C#語言寫Unity Console Hello World程式

在Unity內利用Viusal Studio建立Hello World程式和單純利用Viusal Studio建立Hello World程式有甚麼分別?

大家可能會問在Unity內利用Viusal Studio建立Hello World程式和單純利用Viusal Studio建立Hello World程式有甚麼分別?

在Unity內建立的Script,所有類別(Class)都會繼承(Inherit) Unity預設的MonoBehaviour類別,所以所有類別都繼承了MonoBehaviour類別的特性,例如Life Cycle的Start()和Update()方法,我會在這節再加以說明。

首先建立一個新檔案,如下圖:

Unity Viusal Studio Hello World
  1. 選擇Unity Icon。

Unity Viusal Studio Hello World
  1. 選擇New。

  2. 輸入Project Name。

  3. 輸入檔案儲存位置。

  4. 選擇2D。

  5. 選擇Create project。

Unity Viusal Studio Hello World
  1. 首先在於Assets區內,按Mouse右鍵 。

  2. 選擇Create > C# Script。

Unity Viusal Studio Hello World
  1. C# Script檔案名稱"HelloWorld"。

Unity Viusal Studio Hello World
  1. 打開HelloWorld.cs。

  2. 在Unity內建立的Script,所有類別(Class)都會繼承(Inherit) Unity預設的MonoBehaviour類別,所以所有類別都繼承了MonoBehaviour類別的特性,例如Life Cycle的Start()和Update()方法。

  3. Start()方法是MonoBehaviour類別Lift Cycle的主要方法之一,它用來設定遊戲開始時的初始值。

  4. Update()方法是MonoBehaviour類別Lift Cycle的另一個主要方法,它會已60FPS(一秒60次)更新畫面,做出動畫效果。 注意: 我會在下幾節詳細介紹Unity的Lift Cycle。

Unity Viusal Studio Hello World
  1. 這一次我們用Debug.Log()方法,把"Hello, World!"顯示在Unity Console上。

  2. 選擇Save。

Unity Viusal Studio Hello World
  1. 選擇HelloWorld Script。

  2. 在Inspector區內,HelloWorld Script就會自動更新 。

注意: 剛剛在Assets區內建立的HelloWorld Script還沒有與Unity的任何物件(GameObject)有聯繫,所以就須要把HelloWorld Script加入到Unity的物件內,例如Unity預設的Camera物件,如下圖:

Unity Viusal Studio Hello World
  1. 在Hierarchy區內,選擇Main Camera。

  2. 選擇Add Component。

  3. 選擇Script。

  4. 選擇Hello World。

Unity Viusal Studio Hello World
  1. Hello World Script就會已Component形式加入在Main Camera內。

Unity Viusal Studio Hello World
  1. 選擇File > Save scenes as... > scene。

  2. 選擇Save。

Unity Viusal Studio Hello World
  1. scene檔案就會顯示在Assets區內。

Unity Viusal Studio Hello World
  1. 執行程式。

Unity Viusal Studio Hello World
  1. "Hello, World!"就會顯示在Unity Console上。

例子2) 在Unity內建立一個Script,利用內置(built-in)的另一個選擇MonoDevelop IDE開啟Script,再利用C#語言寫Unity Console Hello World程式

Unity內置另一個可選擇的IDE - MonoDevelop,如下圖:

注意: 我會選擇Viusal Studio來寫遊戲程式。

Unity Viusal Studio Hello World
  1. 選擇Edit > Preferences...。

Unity Viusal Studio Hello World
  1. 選擇External Tools > MonoDevelop (built-in)。

Unity Viusal Studio Hello World
  1. 打開HelloWorld.cs。

Unity Viusal Studio Hello World
  1. "Hello, World!"就會顯示在Unity Console上。

例子3) 在Unity內執行Scene(場景)的Hello World程式

這例子會介紹在Unity內執行Scene(場景)的Hello World程式,如下圖:

Unity Viusal Studio Hello World
  1. 選擇New。

  2. 輸入Project Name。

  3. 輸入檔案儲存位置。

  4. 選擇2D。

  5. 選擇Create project。

Unity Viusal Studio Hello World
  1. 選擇Main Camera。

  2. 設定Main Camera位置 = (0,0)。

Unity Viusal Studio Hello World
  1. 在Hierarchy區內,按照Mouse右鍵。

  2. 選擇UI > Text。

Unity Viusal Studio Hello World
  1. Canvas物件就會自動建立在Hierarchy區內,而剛剛選擇的UI Text就會自動設定為Canvas的子物件。

    注意: 任何UI內的Components都是Canvas內的子物件。

    選擇Text。

  2. 設定Text位置 = (0,0,0)。 注意: Pos Z = 0是因為Main Camera Pos Z = -10,則是Text必須在Main Camera的前方。

  3. 設定Text大小為1000 x 500。

  4. 輸入"Hello, World!"。

  5. 設定Font Size = 50。

  6. 設定Text位置 = 至中。

  7. 設定Color = Red。

Unity Viusal Studio Hello World
  1. 選擇Canvas。

  2. 選擇Render Mode = Screen Space - Camera。
    注意: 使用Camera作為參照,是將UI平面放置在Camera前的一定距離,因為是參照Camera,如果螢幕大小、分辨率、Camera視錐改變時UI平面會自動調整大小。如果Scene中的物件(GameObject)比UI平面更靠近攝影機,就會遮擋到UI平面。

    如果選擇Render Mode = Screen Space - Overlay。
    在此模式下不會參照到Camera,UI直接顯示在任何圖形之上 。

  3. 把Main Camera拖放到Render Camera內。

Unity Viusal Studio Hello World
  1. 選擇File > Save scenes as... > scene。

  2. 選擇Save。

Unity Viusal Studio Hello World
  1. 選擇Screen Size = 1024 x 768。

  2. 執行程式,"Hello, World!"就會顯示在Unity Game Screen上。

例子4) 在Android智能電話上執行以上例子3的Unity Scene Hello World程式

這例子會介紹在Unity內Android智能電話上執行以上例子3的Unity Scene Hello World程式,如下圖:

Unity Viusal Studio Hello World
  1. 選擇File > Build Settings...。

Unity Viusal Studio Hello World
  1. 選擇Add Open Scenes。

  2. 選擇Android。

  3. 選擇Player Settings...。

  4. 選擇顯示在智能電話上的圖案(Icon)。

  5. 輸入Bundle Identifier = com.hkprogram.MyDemo59_2,一個Android Google Play指定每一個App都必須有自己獨有的名稱。

  6. 選擇Build。

Unity Viusal Studio Hello World
  1. 建立一個".apk"檔案。

Unity Viusal Studio Hello World
  1. 把剛剛建立好的"MyDemo59_2.apk"檔案複製到你的智能電話上。

Unity Viusal Studio Hello World
  1. 選擇安裝。

Unity Viusal Studio Hello World
  1. 智能電話上就會安裝好MyDemo59_2.apk程式。

Unity Viusal Studio Hello World
  1. 這是Unity內置的Splashscreen,過場動畫。

    注意: 因為我選擇Unity Personal (Free) Edition,Unity的Splashscreen是內置的。付費版就可以去除Unity的Splashscreen。

    但是我覺得Unity是一隻十分出名的Game Engine軟件,給你的玩家知道你的遊戲是用Unity開發的,也是一件不錯的事。

Unity Viusal Studio Hello World
  1. "Hello, World!"就會顯示在你的智能電話上。