Learning C# Programming with Unity 3D - Alex Okita

Learning C# Programming with Unity 3D

(Autor)

Buch | Softcover
690 Seiten
2014
A K Peters (Verlag)
978-1-4665-8652-9 (ISBN)
49,85 inkl. MwSt
zur Neuauflage
  • Titel erscheint in neuer Auflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
Designed to give you enough familiarity in a programming language to be immediately productive, Learning C# Programming with Unity 3D provides the basics of programming and brings you quickly up to speed. Organized into easy-to-follow lessons, the book covers how C# is used to make a game in Unity3D. After reading this book, you will be armed with the knowledge required to feel confident in learning more. You’ll have what it takes to at least look at code without your head spinning.


Writing a massive multiplayer online role-playing game is quite hard, of course, but learning how to write a simple behavior isn’t. Like drawing, you start off with the basics such as spheres and cubes. After plenty of practice, you’ll be able to create a real work of art. This applies to writing code—you start off with basic calculations, then move on to the logic that drives a complex game. By the end of this book, you will have the skills to be a capable programmer, or at least know what is involved with how to read and write code.





Although you could go online and find videos and tutorials, there is a distinct advantage when it comes to learning things in order and in one place. Most online tutorials for C# are scattered, disordered, and incohesive. It’s difficult to find a good starting point, and even more difficult to find a continuous list of tutorials to bring you to any clear understanding of the C# programming language. This book not only gives you a strong foundation, but puts you on the path to game development.

Introduction
Why read a book
Do I need to know math?
Programming as a form of expression
Games as a stage with lights
Personal Information
A Brief History of Computer Programming
Mechanical Computers
Logic
Computer Science
Software
Modern Computer Language
The Future of Computer Languages
What is C#?
C# Paradigm
What is Unity3D?
Why Use Unity3D to Learn?
How does Unity3D use C#?
What Is Programming
What Does C# Look Like
Learning to copy and paste
Compiling
What We've Learned
Leveling Up

Before You Begin
What Will Be Covered in This Chapter
Getting Started: Downloading and Installing
Getting Started: Unity3D Overview
The Main Window
Creating a New Project
A New Unity Project
Summary
Getting Started: Sample Code
Code Fragments
Are errors bad?
Following along
Summary
Getting Started: Working with C#
Getting Project Files
Creating and Assigning a New C# File
Naming Your New File
Getting Started: Using Your New File
Unity Tools
Running Live Code
Saving a Scene
Opening a Scene
Summary
What We’ve Learned
Leveling Up

First Steps
What will be covered in this chapter
Review
First Steps: Tokens
Tokens
Separator Tokens
Operator Tokens
Other Operator Tokens
Literals
Transitive and Non-Transitive Operations
Putting It All Together
What We’ve Learned
First Steps: Statements and Expressions
Expressions
How Code is Executed
Thinking in Algorithms
What We’ve Learned
First Steps: Keywords
Class
What we’ve learned
First Steps: Whitespace
Pick a Flavor
What We’ve Learned
First Steps: Code Blocks
What We’ve Learned
First Steps: Classes
Objects
What We’ve Learned
First Steps: Variables
Identifiers
Data Noun: Collected Facts and Statistics Collected for Analysis
Declaring a Variable
Dynamic Initialization
What We’ve Learned
First Steps: Variable Names
Variable Assignment
Putting It Together
What We’ve Learned
First Steps: Types, a first look
Value and Reference Types
What We’ve Learned
First Steps: Strong Typing
Dynamic Typing
What We’ve Learned
First Steps: Type Casting, Numbers
Explicit vs. Implicit Casting
A Basic Example
What We’ve Learned
First Steps: Comments
Line Numbers
Code folding
Summary Comments
Navigating in Code
What We’ve learned
Leveling Up

Basics
What Will Be Covered in This Chapter
Review
Basics: Building Up a Game Idea
Design from Experience
Primary Activity
Moment to Moment
Actions to Functions
Compromise
Starting with Controls
What We’ve Learned
Basics: Creating a Class
Class Declaration
Adding Data Fields
Access Modifiers and the Dot Operator
Class Scope
Class Members
What We’ve Learned
Basics: Directives
Libraries
Ambiguous NameSpaces
What We’ve Learned
Basics: Functions
What are Functions
Unity Entry Points
Writing a Function
More on White Space, Tabs
What We’ve Learned
Basics: Order of Operation
What we've learned
Basics: Scope, a First Look
Class Scope
Function Scope
What We’ve Learned
Basics: This
A Basic Example
When This is Necessary
Awkward Names
What We’ve Learned
Basics: Turning Ideas into Code Part 1
Mouse Input
GameObject
What we’ve learned
Basics: Logic and Operators
Booleans
Equality Operators
If and Branching
Flow Charts
Relational Operators
Rearranging Logic
Another look at Scope
What we’ve learned
Basics: Loops
Unary Operators
While
For
Do While
Postfix and Prefix Notation
Using Loops
Loops within Loops
Runaway Loops
Breakpoints, a First Look
What We’ve Learned
Basics: Scope, Again
Visibility or Accessibility
A Basic Example
Global Scope
What We’ve Learned
Basics: Warnings vs Errors
Warnings
Errors
Understanding the debugger
What we’ve learned
Leveling Up
Style Guides

Fundamentals
What Will Be Covered in This Chapter
Review
Fundamentals: Inheritance, A First Look
Class members
Instancing
Parent and Child
Object
! = null
What We’ve Learned
Fundamentals: Instancing
Class Initialization
New
Constructors
What We’ve Learned
Fundamentals: Static
Static Variables
Static Functions
Putting it all together
What we’ve learned
Fundamentals: Turning Ideas into Code Part 2
Input Manager
What We’ve Learned
Fundamentals: Jump Statements:
Fundamentals: Jump Statements: Return 440
A Basic Example
Returning Objects
A Class is a Type
Null is Not Void
What We’ve Learned
Fundamentals: Operators, conditions
Conditional Operators && and ||
What We’ve Learned
Fundamentals: Arrays, a First Look
Fixed size Arrays
Foreach
Dynamically Initialization
While with Arrays
What we’ve learned
Fundamentals: Jump Statements: Break and Continue
A Basic Example
ZombieData
Foreach, again
What We’ve Learned
Fundamentals: Multi Dimensional Arrays
Colums and Rows
A Basic Example
A Puzzle Board
Checking Range
What We’ve Learned
Fundamentals: Array List
A basic example
ArrayList Contains
Remove
Sort and Reverse
What We’ve Learned
Fundamentals: Strings
Declaring a String
Escape Sequences
Verbatim Strings @
String Format
What We’ve Learned
Fundamentals: Combining what we’ve learned
Timers
Adding in Classes
What We’ve Learned
Fundamentals: Source Version Control
Modern Version Control
The Repository
Github
What We’ve Learned
Project Files
Setting up a Repository
Push
Gitignore
Pull
Contributors
What we’ve learned
Leveling Up

Intermediate
What Will Be Covered in This Chapter
Review
Intermediate: Pseudo Code
Thinking It Through
Class Members
Functions Return
Arguments aka "Args" (Not related to pirates)
Assignment Operators
What We’ve Learned
Intermediate: Class Constructors
A Basic Example
What We Learned
What We’ve Learned
Intermediate: Arrays, revisited
Using Arrays in Unity
Instancing with AddComponent();
Type Casting Unity Objects
What We’ve Learned
Intermediate: Enums
Using Enums
Combining what we’ve learned
What we’ve learned
Intermediate: Switch
A basic example
Default:
What We’ve Learned
Fall Through
Goto Case
Limitations
What We’ve Learned
Intermediate: Structs a.k.a. Structures
Structs 636
Struct vs. Class
Without Structs
Handling Structs
Accessing Structs
Global Access
What We’ve Learned
Intermediate: Class data
Character base class
Const
Readonly
What We’ve Learned
Intermediate: Namespaces
A Basic Example
Directives in Namespaces
Ambiguous References
Alias Directives
Putting Namespaces to Work
Extending Namespaces
What We’ve Learned
Intermediate: Functions again
Parameter Lists
Side Effects
Multiple Arguments
Useful Parameters
Foreach vs For
What We’ve Learned
Intermediate: Unity Execution order
A Basic Example
Component Execution Order
What We’ve Learned
Intermediate: Inheritance, Again
Function Overrides
A Basic Example
Class Inheritance
Object
What We’ve Learned
Intermediate: Type Casting, again
(≤Type≥) versus `as’
User-Defined Type Conversion
Implicit versus Explicit Type Conversion
Break;
What We’ve Learned
Intermediate: Working with Vectors
Vectors are Objects
Stepping through Monster Generator
Gizmos
A Basic Example
Using Gizmos
Optimizing
What We’ve Learned
Intermediate: Goto Labels
A Basic example
Zombie State Machine
This as a Reference to Yourself
HumanState based on ZombieState
The Is keyword
What have we learned
Intermediate: More on Arrays
Length and Count
Foreach, a Reminder
Discovery
Putting It Together
What We’ve Learned
Intermediate: Out Parameter
A Basic Example
Simple Sort (Bubble Sort)
Simple Sort Proof
What We’ve Learned
Intermediate: Ref Parameter
A Basic Example
Code portability Side Effects
What we’ve learned
Intermediate: Type Casting Numbers
Number Types
Integers
Floating Point
What We’ve Learned
Intermediate: Types and Operators
GetType()
More typecasting
Type Aliasing
Boxing and Unboxing
Intermediate: Operator Overloading
A Basic Example
Overloading *
Overloading ≤
What we’ve learned
Intermediate: Controlling Inheritance
Sealed 838
A Basic Example
Abstract
A Basic Example
Abstract : Abstract
Putting this to use
What we’ve learned
Leveling Up

Advanced
What Will Be Covered in This Chapter
Review
Moving forward
Advanced: Mono Develop
Find in Files
Word processors
Mono History
Advanced: Function Overloading
A closer look at functions
Function Signature
Different Signatures
Putting It Together
Not Quite Recursion
Drawword
What We’ve Learned
Advanced: Accessors a.k.a. Properties
value
A Basic Example
Set Event
Read Only Accessor
Simplification
What We’ve Learned
Advanced: Base Classes Another Look
Generalization – Base Classes
Specialization
Base
Partial
Protected Private and Public
What We’ve Learned
Advanced: Optional parameters
Using Optionals
Optional Arguments
Named Parameters
Combining What We’ve Learned
What We’ve Learned
Advanced: Delegate Functions
Delegates
Delegate Signatures
Stacking Delegates
Using Delegates
What We’ve Learned
Advanced: Interface
Early Planning
Interface Methods
Multiple Interfaces
IComparer
Using IComparer
What We’ve Learned
Advanced: Class Constructors Revisited
A Basic Example
When to Create a New Class
Static Functions
What We’ve Learned
Advanced: Preprocessor Directives
A Basic Example
UNITY_EDITOR
Warning
Organizing
What We’ve Learned
Advanced: Exceptions
A Basic Example
Exception Messages
Custom Exceptions
Finally
Try Catch Finally in Use
What We’ve Learned
Advanced: IEnumerator
IEnumerator
Implementing IEnumerator
What We’ve Learned
Advanced: Generics
Generic Functions
Making Use of Generic Functions
Generic Types
Var
Multiple Generic Values
What We’ve Learned
Advanced: Events
A Basic Example
A proper event
EventArgs
Update() to Event
Generic EventArg
What We’ve Learned
Advanced: Unity Friendly Classes
Extensions
A Basic Example
Inheriting from Object
OnUpdate
What We’ve learned
Advanced: Destructors
A Basic example
Clearing out objects
What we’ve learned
Advanced: Concurrency or Co-Routines
Yield 1088
A Basic Example
Setting Up Timers
Random Decisions with Logic
Stopping a Coroutine
What We’ve Learned
Advanced: Dictionary Stacks and Queues
A Basic Example
ContainsKey
Stacks
A Basic Example
Queues
What We’ve Learned
Advanced: Callbacks
A Basic Example
Dynamic Callback Assignment
WWW
What We’ve Learned
Advanced: Lambda Expressions
Anonymous Expressions
A Lambda Expressions
A Basic Example
When lambdas are Useful
Lambda Statements
What We’ve Learned
Leveling up

Extended
Extended: What we’ll be covering in this chapter
Extended: Review
Extended: Readability Optimizations and Idioms
?:
if
Smell
What We’ve Learned
Extended: Source Control Revisited
Diff and Merge
KDiff3
Avoiding Conflicts
What We’ve Learned
Extended: Debugging
Debugging Accessors
Locals
Call Stack
Watching List
What We’ve Learned
Extended: Recursion
A Basic Example
Understanding Recursion
In practice
Recursion Types
What We’ve Learned
Extended: Reflection
A Basic Example
Reflection MethodInfo
What We’ve Learned
Extended: LINQ
Lambdas and Arrays 1205
var
LINQ from
Strange behaviors in LINQ
Greedy Operator
What we’ve learned
Extended: Bitwise Operators
Big endian and Little Endian
Signed or Unsigned
Bitwise or |
Enums and Numbers
Bitwise and &
Bitwise Exclusive or ^ (xor)
Setting Bitwise Flags
Bitwise Shortcuts | = and ^ =
Bits in Numbers
Bit Shifting ≥≥ and ≤≤
What We’ve Learned
Extended: Bitwise Math
Twos Complement
Unary Operator ~
Bitwise Addition and Subtraction
Bitwise Multiplication
Bitwise Tricks
What We’ve Learned
Extended: Attributes
A Basic Example
Custom Attributes
Finding Custom Attributes
Attribute Constructor
Multiple Attributes
Putting Attributes to Work
Attribute flags
What We’ve Learned
Extended: Architectures and Organization
Planning Structure
Fixing Namespaces
Namespace and Directory Structure
Using Partial
Refactoring
What We’ve Learned
Extended: Design Patterns
Creational Design Patterns
Structural Design Patterns
Behavioral Design Patterns
What We’ve Learned
Extended: Continuing on Your Own

Stuff We Couldn’t Cover
Extern and unsafe
Dynamic
Dynamic vs Var

Zusatzinfo 11/2015 INKJET reprint; 421 Illustrations, black and white
Verlagsort Natick
Sprache englisch
Maße 178 x 254 mm
Gewicht 1225 g
Themenwelt Informatik Grafik / Design Film- / Video-Bearbeitung
Informatik Software Entwicklung Objektorientierung
Informatik Software Entwicklung Spieleprogrammierung
ISBN-10 1-4665-8652-4 / 1466586524
ISBN-13 978-1-4665-8652-9 / 9781466586529
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Das umfassende Handbuch

von Philippe Fontaine; Burghard Vogel

Buch | Hardcover (2023)
Rheinwerk (Verlag)
79,90
Schritt für Schritt zum perfekten Film: Videoschnitt, Effekte, Sound

von Robert Klaßen

Buch | Hardcover (2021)
Rheinwerk (Verlag)
49,90