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

第8節 - Standard Java Naming Conventions

這一節會介紹Java改名的習慣(Standard Java Naming Conventions),除了Java外,這改名習慣也適合應用在Android和LibGDX上。

  Type One Word Example Two or More Words Example
1 Classes類別 e.g. String, Color, Button, System e.g. ImageSprite, MyColorButton
2 Abstracts抽象類別 e.g. Car, Animal e.g. AbstractUser, MyAbstractClass
3 Interfaces介面 e.g. Runable, ActionListener e.g. ActionListener
4 Variables變數 e.g. first, order e.g. firstName, myOrderNumber
5 Methods方法 e.g. main(), print() e.g. actionPerformed(), myActionPerformed()
6 Constants常數 e.g. RED, YELLOW e.g. MAX_PRIORITY, MY_MAX_PRIORITY
7 Packages套件 e.g. java, lang, com.hkprogram.hk

1. Classes類別:

通常用名詞(Noun),字頭大寫 e.g.Color, MyColor。

2. Abstracts抽象類別:

和Classes, Interface一樣,字頭大寫 e.g.Car,MyAbstractCar。

3. Interfaces介面:

通常用形容詞(Adjective),字頭大寫e.g Runable,ActionListener。

4. Variables變數:

字頭小寫,其他連接字字頭大寫 e.g.first, firstName。

5. Methods方法:

通常用動詞(Verb),字頭小寫,其他連接字字頭大寫,還有括號"()" e.g.main(),actionPerformed()。

6. Constants常數:

所有字大寫,還有"_"連接兩個字以上e.g.RED,MAX_PRIORITY。

7. Packages套件:

所有字小寫,Android路徑通常會以Domain Name相反寫成e.g.com.hkprogram.testing。

注意,這改各習慣不是必須的,但我見意必須跟隨,最主要原因是當大家用同一種方法(Standardization) 去命名Java,Android和LibGDX時,當你學習其他人的程式編寫時,單單看程式碼,你就可以大約知道那一個是Class, Abstract, Interface, Variable, Method, Constant或Package。

例如以下是簡單的Hello World程式,一看就可以看出大部分字彙的種類:

Standard Java Naming Conventions

Standard Java Naming Conventions

Helloworld是Classes類別

main()是Methods類別

System是Classes類別

out是Variables類別

println()是Methods類別