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

第3節 - Java, Android和LibGDX要學的知識

這一節我會例出大部Java, Android和LibGDX須要學的詞彙(我會不斷更新),重要的詞彙會在其他章節介紹。

Java基本知識

java基本知識

Java是一種物件導向程式,所以Java主要可分為兩部分,第一部分是Java的基本知識; 第二部分是Java的物件導向(OOP)程式。


Java的基本知識就和其他非物件導向程式相似,基本包括: print(), read(), write(), data types (integer, string), variables, 運算子(operator), 運算元(operand), if~else loop, for loop, do-while loop, switch case, array等等,我會在本章列出主要詞彙。


與學習一種語言相似,例如英語,只要掌握Java的基本語法,其實大部分程式語言的基本知識都是大同小異。

  1. Java JDK and JRE
  2. public static void main(string args[])
  3. System.out.println()
  4. comment(// and /*..*/)
  5. Escape sequence(\b \t \n \f \r \' \'' \\ \ooo \uhhhh)
  6. Data type(boolean, char, byte, short, int, long, float, double)
  7. bit and byte
  8. import java.io.*
  9. throws IOException
  10. BufferedReader
  11. System.in
  12. readLine()
  13. integer.parseInt()
  14. Double.parseDouble()
  15. Expression (Operator & Operand)
  16. operator
  17. operand
  18. Assignment operator
  19. Shift operator
  20. Relational operator
  21. Logical operator
  22. if, if~else, if~else if~else
  23. cast
  24. for loop
  25. while, do-while loop
  26. switch case, break, continue, default
  27. charAt()
  28. Array
  29. etc.

java物件導向

java物件導向

除了以上的Java基本知識外,Java最重要部分其實是物件導向程式,物件導向程式的五大重點:

  • Class
  • Object
  • Inheritance
  • Abstract
  • Interface

Android能夠出現,就是用了Java以上的物件導向特性,開發出來的。

  1. class
  2. class variable
  3. class method
  4. instance
  5. instance variable
  6. instance method
  7. field
  8. member variable
  9. class variable
  10. method (void & return)
  11. global and local variable
  12. static
  13. final
  14. new
  15. constructor
  16. this()
  17. super()
  18. argument & parameter
  19. modifier (public, private, protected, default)
  20. class library (String, Integer, Math etc.)
  21. null
  22. finalize()
  23. inheritance (subclass, superclass)
  24. extends
  25. encapsulation
  26. polymorphism
  27. Dynamic dispatch
  28. getter & setter
  29. overloading & overriding
  30. @override
  31. tostring()
  32. interface
  33. implements
  34. abstract
  35. muliple inheritance
  36. superinterface & subinterface
  37. package & subpackage
  38. import
  39. java.lang.Object
  40. exception handling
  41. try, catch & finally
  42. Throwable (Error, Exception, IOException, RuntimeException, ArrayIndexOutOfBoundsException)
  43. stream
  44. InputStreamReader
  45. BufferedReader
  46. readlin()
  47. PrintWriter
  48. close()
  49. thread()
  50. run()
  51. start()
  52. sleep()
  53. join()
  54. Runable
  55. synchronized
  56. Graphic
  57. Applet
  58. etc.

Android基本知識

android
  1. Android SDK
  2. IDE, ADT, AVD
  3. drawable-hdpi, drawable-ldpi, drawable-mdpi
  4. AndroidManifest.xml
  5. proguard.cfg
  6. project.properties
  7. main.xml
  8. string.xml
  9. Activity
  10. Broadcast Receiver
  11. Service
  12. Content Provider
  13. Lift-Cycle (onCreate(),onStart(), onResume(), onPause(), onStop(), onDestroy(), onRestart())
  14. onCreate(Bundle SavedInstanceState)
  15. @Override
  16. super.onCreate(savedInstanceState)
  17. setContentView(R.layout.main)
  18. Layout (LinearLayout, AbsoluteLayout, RelativeLayout, TableLayout, FrameLayout)
  19. orientation (vertical, horizontal)
  20. comment(// and /*..*/)
  21. Widgets
  22. TextView
  23. EditText
  24. Button
  25. R.java
  26. findViewById()
  27. OnClickListener (setOnClickListener(), onClick(View v))
  28. Toast
  29. AlertDialog
  30. CheckBox
  31. RadioGroup
  32. RadioButton
  33. Spinner
  34. ImageView
  35. BaseAdapter (getCount(), getView(), getItem(0, getItemId())
  36. GridView
  37. ListView
  38. LayoutInflater (inflate())
  39. onCreateOptionsMenu()
  40. onCreateContextMenu()
  41. Intent (implicit intent and explicit intent)
  42. startActivity()
  43. startActivityForResult()
  44. setClass() and get
  45. setResult()
  46. onActiveResult()
  47. Activity (onCreate(), onStart(), onResume(), onPause(), onStop(), onRestart(), onDestroy())
  48. try, catch, finally
  49. Log
  50. DDMS
  51. SharedPreferences (MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE)
  52. FileOutputStream, FileInputStream
  53. BufferedOutputStream, BufferedInputStream
  54. SQLiteDatabase (execSQL(), rawQuery(), query(), insert(), update(), delete(), close())
  55. openOrCreateDatabase()
  56. SimpleCursorAdapter
  57. SQLiteDatabase & SQLiteOpenHelper
  58. AnalogClock
  59. DigitalClock
  60. Chronometer
  61. Timer
  62. TimerTask
  63. Message
  64. Handler
  65. Thread
  66. ClockThread
  67. MediaPlayer
  68. VideoView
  69. SurfaceView
  70. SurfaceHolder
  71. MediaRecorder
  72. .apk file
  73. Admod
  74. Canvas
  75. Drawables
  76. onDraw()
  77. invalidate()
  78. Bitmap
  79. SurfaceHolder.callback
  80. getHolder()
  81. addCallback()
  82. lockCanvas() & unlockCanvasAndPost()
  83. etc.

LibGDX基本知識

libgdx
  1. Starter Class & Main Class
  2. Backends (LWJGL, Android, WebGL, IOS)
  3. Modules (Application, Graphic, Audio, Input, Files, Network)
  4. Lift-Cycle (create(), resize(), render(), pause(), resume(), dispose())
  5. LwjglApplicationConfiguration
  6. LwiglApplication()
  7. GwtApplicationConfiguration
  8. ApplicationListener
  9. MainActivity
  10. AndroidApplication
  11. AndroidApplicationConfiguration
  12. initialize()
  13. OrthographicCamera
  14. SpriteBatch
  15. Texture
  16. TextureRegion
  17. Sprite
  18. Debugger & Code Hot Swapping
  19. UML class diagram
  20. Assets
  21. WorldRenderer
  22. WorldController
  23. CameraHelper
  24. AbstractGameObject
  25. Level
  26. Vertical synchronization(vsync)
  27. deltaTime
  28. Garbage Collector(GC)
  29. Texture atlases
  30. Non-Power-Of-Two(NPOT)
  31. Texture packer
  32. Design pattern - Singleton
  33. TextureFilter
  34. AssetManager
  35. Level diagram & Level loader
  36. Graphic User
  37. Interface(GUI)
  38. Head-Up Display(HUD)
  39. Frame per second (FPS)
  40. Bitwise shift operator
  41. Viewport, CameraView
  42. Bitmap font
  43. Actors
  44. Collision detection
  45. Game menu & options
  46. Scene2D
  47. Audio (Sound & music)
  48. Special effects (particle system)
  49. Linear interpolation (Lerp)
  50. Render to Texture (RTT)
  51. Pulse-Code Modulation (PCM)
  52. AudioDevice
  53. AudioRecorder
  54. Sound generator (sfxr, bfxr, cfxr & as3sfxr)
  55. AudioManager
  56. Box2D
  57. Physics engine (Bullet)
  58. Programmable Pipeline
  59. OpenGL Shading Lanuage(GLSL)
  60. Animations
  61. Array AlasRegion
  62. etc.