LibGDX Notes. Using BlueJ. LibGDX Notes
|
|
- Eleanore O’Brien’
- 6 years ago
- Views:
Transcription
1 LibGDX Notes These notes assume that you have a familiarity with Java programming. If you do program in Java you probably use an integrated development environment (IDE) already. There are many possible choices for IDE s, for beginners we have: BlueJ ( DrJava ( For more advanced programmers there is: Eclipse (eclipse.org) NetBeans (netbeans.org) IntelliJ IDEA ( The first book I am tackling is Beginning Java Game Development with LibGDX which uses BlueJ. I will detail the steps to get the same hello world program with LibGDX up and running on BlueJ, Eclipse and NetBeans. Using BlueJ 1. Obtain a copy of BlueJ at Figure BlueJ has a download installer for Windows, Mac OS X, Ubuntu/Debian, Raspbian Linux. 1
2 Since I already have Java JDK installed I will select BlueJ Installer How to tell if you have Java JDK installed. Open a command prompt window Enter java version If you do not see the above response you probably do not have Java installed or in the PATH The Window version for BlueJ is a *.msi file that you can install by double-clicking on it. After installation you should see a desktop icon for BlueJ what does it look like? Figure 2 - Desktop Icon 3. Double-click the desktop icon to get BlueJ started. The application window for BlueJ is rather basic and simple especially for all you developers that use Eclipse and NetBeans! Figure 3 illustrates what the screen looks like when first started. 1 I am assuming you know how to detect what Java version you have and how to set it up on your computer s path. If you need more guidance than I suggest you check out the HTML TRAINING notes we have on brainycode.com. It details how to set up Java and NetBeans (for HTML5 development) for the complete beginner. 2
3 Figure 3 - BlueJ Start Screen 4. From the menu select Project New Project 5. A New Project file dialog opens up. Navigate to the location of your BlueJ projects. I decided to place all my BlueJ projects under a directory named BLUEJ and for this specific project to create a directory named HELLO_WORLD. The screen will now appear as: Figure 4 - Folder organization for my BlueJ projects 3
4 Figure 5 - IDE after creating HELLO_WORLD project The page icon you see on the screen is a README.TXT file you can use to detail the specifics of the project you are creating. We will examine this file later. 6. Create a new class by clicking on the New Class button. 4
5 Figure 6 - Enter name of the new class "HelloWorld" 7. Enter the class name HelloWorld and click on Ok Figure 7 - Updated BlueJ IDE with new class You will see a new rectangular icon labeled HelloWorld added to your IDE. The diagonal lines indicate that the Java class file needs to be compiled. 8. Double-click on the HelloWorld rectangle or right-click over the rectangle and select Open Editor You will see that the class has a lot of template code already inserted for you! 5
6 Figure 8 - HelloWorld with template code 9. Delete all the code and enter the following code: Table 1 - HelloWorld.java code /** * Write a description of class HelloWorld here. * Lorraine Figueroa May */ public class HelloWorld { public static void main() { System.out.println("Hello, World!"); } } The IDE should look like this: 6
7 10. Click on the Compile button Figure 9 - Our HelloWorld program You should see the following message at the bottom of the IDE in the status screen. Figure 10 - Status message after compilation Note: If you do not see the message above check and compare the text to find any possible typos. When you return to the main IDE screen you will the HelloWorld icon now has the compiled rectangle icon. 11. Return to the main screen with the HelloWorld rectangle. Right-click and select void main() 7
8 Figure 11 - Running the class main() A terminal window will open up with the results of running the program: Figure 12 - Result of running our HelloWorld program To the left of your HelloWorld class as illustrated in Figure 13 is a README.TXT file that automatically got created when we created our BlueJ project. 12. Double-click on the README.TXT file in order to open up the contents of the file in a text editor. 8
9 Figure 13 - Our Hello World Project The original contents of the README.TXT file is shown below: Table 2 - Original README.TXT file This is the project README file. Here, you should describe your project. Tell the reader (someone who does not know anything about this project) all he/she needs to know. The comments should usually include at least: PROJECT TITLE: PURPOSE OF PROJECT: VERSION or DATE: HOW TO START THIS PROJECT: AUTHORS: USER INSTRUCTIONS: A good programmer will make sure that the README.TXT is updated and accurate so that years from now others will be able to find out the purpose of the project and know how to execute it. 9
10 Table 3 - Update README.TXT file PROJECT TITLE: HelloWorld PURPOSE OF PROJECT: This is a test project to get acquainted with BlueJ VERSION or DATE: 05/28/2016 HOW TO START THIS PROJECT: Execute the main in the class HelloWorld AUTHORS: L. Figueroa USER INSTRUCTIONS: N If you plan on using BlueJ I highly recommend that you obtain the reference manual at and spend 15 to 20 minutes going over it in order to get an idea what features the IDE has and for future reference. 13. Head over to to download the jar file for the LibGDX library. Figure 14 - LibGDX banner The Java framework library can be used to create programs for desktops, Android devices, ios and HTML5. Learning to use frameworks that work on many different platforms your Windows OS, your Samsung phone, a Mac, an iphone and from any device that supports a browser that also supports JavaScript/WebGL means that you can build your application one time and be assured that it can run just about anywhere! 14. Click the Download icon and head over to the Releases download folder and find the latest file in the format libgdx-x.x.x.zip. Figure 15 - Downloading the latest LibGDX zip file 15. Unzip the contents of the zip file into a location we will use to add LibGDX to all our projects (and across IDEs). I will place it at C:\LibGDX You will find several jar files in the folder you extracted the zip file into: 10
11 Figure 16 - Jar files in LibGDX The files we want to use are: gdx.jar gdx-natives.jar gdx-backend-lwjgl.jar gdx-backend-lwjgl-natives.jar Since we want to use these files across many BlueJ projects let s put the files in a location that will be available to all our BlueJ projects 16. Find the location of where BlueJ was installed. On my Windows system it was C:\Program Files (x86)\bluej. Figure 17 - Location of BlueJ installation 11
12 17. Copy the jar file noted above into the BlueJ \lib\userlib folder. Figure 18 - Moving LibGDX jar file into BlueJ 18. Start or re-start BlueJ IDE. Close the old HelloWorld project if it automatically opened up. 19. Create a new project called ViewImage 20. Create a new class ViewImage with the contents as shown below: Table 4 - ViewImage.java /** * Write a description of class ViewImage here. * Lorraine Figueroa 5/29/2016 */ import com.badlogic.gdx.game; import com.badlogic.gdx.gdx; import com.badlogic.gdx.files.filehandle; import com.badlogic.gdx.graphics.gl20; import com.badlogic.gdx.graphics.g2d.spritebatch; import com.badlogic.gdx.graphics.texture; public class ViewImage extends Game { private Texture texture; private SpriteBatch batch; public void create() { FileHandle worldfile = Gdx.files.internal("pong.png"); 12
13 } texture = new Texture(worldFile); batch = new SpriteBatch(); public void render() { Gdx.gl.glClearColor(1, 1, 1, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); } } batch.begin(); batch.draw(texture, 0, 120); batch.end(); A file in LibGDX is represented by an instance of the FileHandle class. A FileHandle has a type which defines where the file is located. 13
14 In the program above we use: Figure 19 - The availability and location of each file type for each platform FileHandle worldfile = Gdx.files.internal("pong.png"); 14
15 An image is converted from its original format (e.g *.png file) and saved as a Texture. LibGDX uses OpenGL therefore every image needs to be transformed into a Texture. A Texture is nothing more than a decoded image loaded into the GPU s memory in raw format. To display textures (images) on the screen, a few things have to be done first. A mesh, usually a rectangular polygon is used to describe the geometry for the texture mapping to be made on. Texture mapping is the process of working out where in space the texture (image) will be applied. In the code we use the following line to convert the file image into a Texture. texture = new Texture(worldFile); LibGDX comes with SpriteBatch which takes care of all the steps needed to achieve texture mapping and displaying texture mapped rectangles on the screen. It is a convenience class which makes drawing onto the screen extremely easy and it is also optimized. The render method uses the SpriteBatch object batch to draw our image to the screen batch.begin(); batch.draw(texture, 0, 120); batch.end(); It works with screen coordinates and uses pixel perfect screen resolution. The lower left corner is the origin (0,0) with the X axis pointing right and the Y axis pointing up. The above draws our image starting at X = 0 and Y = 120. Note: The information above comes frm the github wiki: Create another new class named GameLauncher with the contents: Table 5 - GameLauncher.java /** * Write a description of class GameLauncher here. * Lorraine Figueroa 5/29/2016 */ import com.badlogic.gdx.backends.lwjgl.lwjglapplication; public class GameLauncher { public static void main(string[] args) 15
16 } { } ViewImage myprogram = new ViewImage(); LwjglApplication launcher = new LwjglApplication(myProgram); All our applications will use a game launcher class to trigger our game class. 22. Compile both programs and Run GameLauncher. 23. Just click OK Figure 20 - Executing GameLauncher Figure 21 - Result of running GameLauncher 16
17 The bottom left of our image is location (0, 120), where the bottom left of the window or screen is (0,0). The nice feature in BlueJ is that you can see the relationship between files in the IDE. Figure 22 - BlueJ class relationships The image above makes it clear that the GameLauncher invokes or includes a reference to the ViewImage object. None of the methods in myprogram are actually invoked by ViewImage. It passes the myprogram object to another class LwjglApplication that manages to get the methods in ViewImage invoked so we see our image. There are several advantages to using LibGDX as your Java game framework: It has methods for handling user input from the keyboard, mouse, game pad or touch screens It can be used to render 2D graphics It has methods to play sound effects or play music It allows you to easily integrate other third party tools It has methods to render 3D graphics and even load 3D models. 17
18 Figure 23 - Soldier 3D model At this time I will admit that using BlueJ for my IDE Java Development does not feel like a good idea. I will now detail how to get the ViewImage project constructed using Eclipse. Using Eclipse I will have to admit that BlueJ seems simple and I could see how it can be quite appealing for students who are starting to learn how to program in Java but as a Java programmer I am used to having to do less work with respect to getting my imports in and also NOT having to compile every file after I made a change (Eclipse automatically does this for us). So I will step through how to recreate the LibGDX ViewImage using Eclipse. 1. Open Eclipse and create a new workspace to hold all our LibGDX project. Figure 24 - Creating a workspace Note: I am using a 64-bit OS (Windows 7), with 64-bit Java SDK and 64-bit version of Eclipse. 18
19 2. Enter the workspace and create a new Java Project ViewImage by right-clicking in the Project Explorer and selecting New Project Java Project and click on Next>. Figure 25 - Creating new Java Project 3. Enter the project name ViewImage and click on Finish. Figure 26 - Our Eclipse Project Explorer 4. Highlight the src folder (as shown above) and right-click on New Package and enter the name: com.att.brainycode.libgdx.examples. Click on Finish. 19
20 Figure 27 - Project with new package Before we add our first class let s add the same four jars files we identified to the project Right-click the ViewImage project icon. Select Properties from the menu and the Java Build Path option Figure 28 - Java Build Path dialog 6. Click on Add External JARs button 7. Navigate to the location of the LibGDX jars and select (hold CTRL) the four jar files we want to add to the project. 2 We will have to add the same 4 LibGDX files to every Eclipse project we create until we start to use a cool build tool like Maven. 20
21 Figure 29 - Selecting the four LibGDX JAR files 8. Click Open. Figure 30 - Adding the JAR to the build 9. Click on OK 21
22 10. Highlight the package and create the Java class by right-clicking and selecting New Class. Figure 31 - Creating ViewImage class 11. Enter the Name and DO NOT forget to add Game as the superclass by clicking Browse and entering the name Game The file contexts for ViewImage will be the same as the version in BlueJ but with the package line. In addition, Eclipse will assist you when finding and adding the right imports to the file. Table 6 - Eclipse version of ViewImage.java package com.att.brainycode.libgdx.examples; import com.badlogic.gdx.game; import com.badlogic.gdx.gdx; import com.badlogic.gdx.files.filehandle; import com.badlogic.gdx.graphics.gl20; import com.badlogic.gdx.graphics.texture; import com.badlogic.gdx.graphics.g2d.spritebatch; public class ViewImage extends Game { 22
23 private Texture texture; private SpriteBatch public void create() { FileHandle worldfile = Gdx.files.internal("pong.png"); texture = new Texture(worldFile); batch = new SpriteBatch(); } public void render() { Gdx.gl.glClearColor(1, 1, 1, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); } batch.begin(); batch.draw(texture, 0, 120); batch.end(); } 12. Create a new class named GameLauncher. Table 7 - Eclipse version of GameLauncher.java package com.att.brainycode.libgdx.examples; import com.badlogic.gdx.backends.lwjgl.lwjglapplication; public class GameLauncher { } public static void main(string[] args) { ViewImage myprogram = new ViewImage(); LwjglApplication launcher = new LwjglApplication(myProgram); } 23
24 13. Try to run the program (I know it will not work since we have not placed the pong.png image in a location that it can be found). To run either click on the Run icon. Figure 32- Eclipse run icon Figure 33 - Run As dialog 14. Select Run As Java Application You will see the following expected error message: Table 8- Eclipse console error message Exception in thread "LWJGL Application" com.badlogic.gdx.utils.gdxruntimeexception: Couldn't load file: pong.png at com.badlogic.gdx.graphics.pixmap.<init>(pixmap.java:140) at com.badlogic.gdx.graphics.texturedata$factory.loadfromfile(texturedata.java:98) at com.badlogic.gdx.graphics.texture.<init>(texture.java:100) at com.badlogic.gdx.graphics.texture.<init>(texture.java:92) 24
25 at com.att.brainycode.libgdx.examples.viewimage.create(viewimage.java:18) at com.badlogic.gdx.backends.lwjgl.lwjglapplication.mainloop(lwjglapplication.java:143) at com.badlogic.gdx.backends.lwjgl.lwjglapplication$1.run(lwjglapplication.java:120) Caused by: com.badlogic.gdx.utils.gdxruntimeexception: File not found: pong.png (Internal) at com.badlogic.gdx.files.filehandle.read(filehandle.java:136) at com.badlogic.gdx.files.filehandle.readbytes(filehandle.java:222) at com.badlogic.gdx.graphics.pixmap.<init>(pixmap.java:137)... 6 more 15. Highlight the project and create new folder New Folder. Name it res (for resources) 16. Copy the pong.png image to the res folder. Figure 34 - New "res" folder We will need to add this directory to the class path so that all our resources are located. 17. Again right-click the project and select Properties and Java Build Path. Click on Add External Class Folder button on the Libraries tab. 18. Navigate to the res folder in your project and click OK 25
26 Figure 35 - Navigating to the res project You will now see res added to the classpath: Figure 36 - Adding res to the classpath 19. Run GameLauncher again you will now see the pong image. 26
27 Figure 37 - Pong image from Eclipse. The eclipse IDE is more complicated that BlueJ but it provides too many advantages that I require when doing development. See Appendix A for how to use NetBeans with LibGDX. The LibGDX Framework The Game Loop One of the most fundamental design structures used in game programs is the game loop. A simple and basic game loop is the following 3 : boolean running = true; while (!running) { updategamestate(); displaygamestate(); } There are two things the program does in the game loop update and display. In the updategamestate() all the monsters are moved, killed, or made to appear and in the displaygamestate() the screen is updated with your new weapon being shown and the last monster slain now lays on the ground wincing in pain. The running flag is set to false when you win or lose or pause the game. Before the game enters the game loop the game resources are processed. For example, the images and sound effects are read in. This function is done in the create() method in our project. The game loop 3 From 27
28 above is captured in our render() method. The one issue is how often is the game loop executed? Usually most programs try for 60 loops per second or more commonly referred to as frames per second (FPS). An accurate view of the game loop is the following image 4 : Figure 38 - Game Loop As you can see the first step (outside the game loop itself) is the Initialize the Game Engine (the user may not be starting at Level 1) and load the resources (images, sounds, etc) and then we get into the game loop where we process input (check if the user clicked on jump button), simulate the game world (update positions) and then render or display the screen. We then check if the game should be still running (is the game over, did use pause, etc). When the game ends all the resources are unloaded and the game exits. The nice thing about the LibGDX framework is that it hides the game loop from us (since all games have it!) and we just have to create and fill in the relevant methods (e.g render()). The LibGDX Modules See: LibGDX consists of five interfaces that provide means to interact with the operating system. Application: runs the application and informs an API client about application level events, such as window resizing. Provides logging facilities and quering methods (e.g. memory usage)
29 Files: exposes the underlying file system(s) of the platform. Input: informs the API client of user input such as mouse, keyboard, touch or accelerometer events. The framework supports both polling and event driven processing. Net*: provides a mean to access resources via HTTP/HTTPS in a cross-platform way, as well as create TCP server and client sockets. Audio: provides a mean to playback sound effects and streaming music as well as directly accessing audio devices for PCM audio input/output. Graphics: exposes OpenGL ES 2.0 (where available) and allows quering/setting video modes and similar things. The only platform specific code are the starter classes (launcher classes). For each platform that is targeted, a piece of code will instantiate a concrete implementation of the Application interface. In our desktop example we have: Table 9- Desktop specific starter class ViewImage myprogram = new ViewImage(); LwjglApplication launcher = new LwjglApplication(myProgram); For an Android environment we would have: Figure 39 - Android starter class What is OpenGL ES? OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics. Typically we create computer or video games that are hardware-accelerated using graphics processing unit (GPU). The API is designed for embedded systems like smartphones, computer tablets, and video game consoles. The API is cross-language and multi-platform. From: 29
30 Using Texture From: An image is simply an array of colors, rendered in two dimensions. Let s take a close look at a very small image a heart sprite and a half-heart sprite. Figure 40 - Heart and half-heart sprite There a number of ways the above image(s) are stored on a computer. The most common format used is RGBA with 8-bits per channels. RGB stands for red, green and blue channels. A refers to the alpha (transparency) channel. Here are the three different ways of storing the color red: The RGBA byte array representing the above image (32x16 pixels) might look like this: Figure 41 - Byte array of heart image A single pixel is made up of four bytes. The size of the array is WIDTH * HEIGHT * BPP, where BPP stands for bytes per pixel. An array of bytes can be rather large that is why compression like PNG or JPEG is used. 30
31 In OpenGL ES we use textures to store image data. OpenGL ES textures do not only store image data; they are simply float arrays stored on the GPU, so they are also useful for shadow mapping and other advanced techniques. The basic steps of getting an image into a texture are as follows: 1. Decode into RGBA bytes 2. Get a new texture ID 3. Bind that texture 4. Set up any texture parameters 5. Upload the RGBA bytes to OpenGL Using LibGDX hides all the details for us. A Texture class decodes an image and loads it into GPU memory. The image file should be powers of two (16x16, 64x256, etc) for compatibility and performance reasons. Each texture is created and passed to a SpriteBatch to be drawn. A TextureRegion TODO Using SpriteBatch From: If you look up the JavaDoc for SpriteBatch you will read: Draws batched quads using indices. It probably does not have much meaning if you are not familiar with OpenGL. An image that has been decoded from its original format (e.g PNG) and uploaded to the GPU is called a texture. To draw a texture, geometry is described and the texture is applied by specifying where each vertex in the geometry corresponds on the texture. For example, the geometry could be a rectangle and the texture could be applied so that each corner of the rectangle corresponds to a corner of the texture. A rectangle that is a subnet of a texture is called a texture region. To do the actual drawing, first the texture is bound (i.e. made the current texture), then the geometry is given to OpenGL to draw. The size and position on the screen that the texture is drawn is determined by both the geometry and how the OpenGL viewport is configured. Many 2D games configure the viewport to match the screen resolution. This means that the geometry is specified in pixels, which makes it easy to draw textures in the appropriate size and position on the screen. It is very common to draw a texture mapped to rectangular geometry. It is also very common to draw the same texture or various regions of that texture many times. It would be inefficient to send each rectangle one at a time to the GPU to be drawn. Instead, many rectangles for the same texture can be described and sent to the GPU all at once. This is what the SpriteBatch class does. SpriteBatch is given a texture and coordinates for each rectangle to be drawn. It collects the geometry without submitting it to the GPU. If it is given a texture different than the last texture, then it 31
32 binds the last texture, submits the collected geometry to be drawn, and begins collecting geometry for the new texture. It is common to store many smaller images in a larger image and the draw regions for the larger image to both maximize geometry batching and avoid texture changes (e.g. using a sprite sheet). Figure 42 - Example use of SpriteBatch All SpriteBatch drawing class must be made between the begin and end methods. Non- SpriteBatch drawing cannot occur between begin and end. SpriteBatch assumes the active texture unit is 0. When using custom shaders and binding textures yourself, you can reset this with the following code: Figure 43 - resetting current texture KeyPresses and Moving an Object TODO: An example that moves an image on the screen Collision Detection TODO: An example where one image remains stable 32
33 The Sprite Class Custom Sprite Class The Stage Class The Actor Class TODO: An example using the Actor class and Stage. Implementing Animation The Action Class MathUtils Using a Camera Multiple Screens 33
34 34
35 References 1. Curry, Michael. Java Game Programming. Self-published. 2. Stemkoski, Lee. Beginning Java Game Development with LibGDX APRESS. 3. Nair, Suryakumar Balakrishan. Learning LibGDX Game Development Packt Publishing. 4. Marquez, David Saltares. LibGDX Cross-platform Game Development Cookbook Packt Publishing. 5. Cook, James. LibGDX Game Development By Example Packt Publishing. 6. Bose, Juwal. LibGDX Game Development Essentials Packt Publishing. 35
36 Appendix A Using NetBeans and LibGDX TODO 36
Game Programming with. presented by Nathan Baur
Game Programming with presented by Nathan Baur What is libgdx? Free, open source cross-platform game library Supports Desktop, Android, HTML5, and experimental ios support available with MonoTouch license
More informationComputer Games 2014 Selected Game Engines
Computer Games 2014 Selected Game Engines Dr. Mathias Lux Klagenfurt University This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 pixi.js Web based rendering engine
More informationComputer Games 2011 Selected Game Engines
Computer Games 2011 Selected Game Engines Dr. Mathias Lux Klagenfurt University This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 libgdx features High-performance,
More informationGetting Started with Eclipse/Java
Getting Started with Eclipse/Java Overview The Java programming language is based on the Java Virtual Machine. This is a piece of software that Java source code is run through to produce executables. The
More informationFor live Java EE training, please see training courses at
Java with Eclipse: Setup & Getting Started Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/java.html For live Java EE training, please see training courses
More informationlejos NXJ Problem Solving with Robots [PRSOCO601]
lejos NXJ Problem Solving with Robots [PRSOCO601] Thomas Devine http://noucamp thomas.devine@lyit.ie February 20, 2008 1 Contents 1 lejos NXJ 4 1.1 Introducing the Java Development.......................
More informationJava Game Development
THE EXPERT S VOICE IN JAVA Beginning Java Game Development with LibGDX Create a great variety of games quickly and ef f iciently with LibGDX Lee Stemkoski Beginning Java Game Development with LibGDX Lee
More informationSetup and Getting Startedt Customized Java EE Training:
2011 Marty Hall Java a with Eclipse: Setup and Getting Startedt Customized Java EE Training: http://courses.coreservlets.com/ 2011 Marty Hall For live Java EE training, please see training courses at http://courses.coreservlets.com/.
More informationAt the shell prompt, enter idlde
IDL Workbench Quick Reference The IDL Workbench is IDL s graphical user interface and integrated development environment. The IDL Workbench is based on the Eclipse framework; if you are already familiar
More informationPART 1. Eclipse IDE Tutorial. 1. What is Eclipse? Eclipse Java IDE
PART 1 Eclipse IDE Tutorial Eclipse Java IDE This tutorial describes the usage of Eclipse as a Java IDE. It describes the installation of Eclipse, the creation of Java programs and tips for using Eclipse.
More informationUsing Eclipse for Java. Using Eclipse for Java 1 / 1
Using Eclipse for Java Using Eclipse for Java 1 / 1 Using Eclipse IDE for Java Development Download the latest version of Eclipse (Eclipse for Java Developers or the Standard version) from the website:
More informationDepartment of Computer Science University of Pretoria. Introduction to Computer Science COS 151
Department of Computer Science University of Pretoria Introduction to Computer Science COS 151 Practical 1 16 February 2018 1 Plagiarism Policy The Department of Computer Science considers plagiarism as
More information3 CREATING YOUR FIRST JAVA APPLICATION (USING WINDOWS)
GETTING STARTED: YOUR FIRST JAVA APPLICATION 15 3 CREATING YOUR FIRST JAVA APPLICATION (USING WINDOWS) GETTING STARTED: YOUR FIRST JAVA APPLICATION Checklist: The most recent version of Java SE Development
More informationContent Author's Reference and Cookbook
Sitecore CMS 7.0 Content Author's Reference and Cookbook Rev. 130425 Sitecore CMS 7.0 Content Author's Reference and Cookbook A Conceptual Overview and Practical Guide to Using Sitecore Table of Contents
More informationSample Spark Web-App. Overview. Prerequisites
Sample Spark Web-App Overview Follow along with these instructions using the sample Guessing Game project provided to you. This guide will walk you through setting up your workspace, compiling and running
More informationEclipse Tutorial. For Introduction to Java Programming By Y. Daniel Liang
Eclipse Tutorial For Introduction to Java Programming By Y. Daniel Liang This supplement covers the following topics: Getting Started with Eclipse Choosing a Perspective Creating a Project Creating a Java
More informationA Reference guide to Using the Collaborate tool in your LMS (Mac Users)
A Reference guide to Using the Collaborate tool in your LMS (Mac Users) Your LMS includes a synchronous (real-time) tool for online communication within your subject or community. The Collaborate tool
More informationDeveloping Applications for ios
Developing Applications for ios Lecture 1: Mobile Applications Development Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Evaluation Individual
More informationCPS109 Lab 1. i. To become familiar with the Ryerson Computer Science laboratory environment.
CPS109 Lab 1 Source: Partly from Big Java lab1, by Cay Horstmann. Objective: i. To become familiar with the Ryerson Computer Science laboratory environment. ii. To obtain your login id and to set your
More informationPrerequisites for Eclipse
Prerequisites for Eclipse 1 To use Eclipse you must have an installed version of the Java Runtime Environment (JRE). The latest version is available from java.com/en/download/manual.jsp Since Eclipse includes
More informationGraphics with libgdx
Graphics with libgdx Dr. Andrew Vardy Adapted from the following sources: libgdx slides by Jussi Pohjolainen (Tampere Unversity of Applied Sciences) transformation slides by Dr. Paul Gillard (Memorial
More informationHow to create interactive documents
Adobe InDesign Guide How to create interactive documents You can use Adobe InDesign to create dynamic web content or interactive documents. InDesign supports export to web-ready HTML or interactive PDF.
More informationNetBeans Tutorial. For Introduction to Java Programming By Y. Daniel Liang. This tutorial applies to NetBeans 6, 7, or a higher version.
NetBeans Tutorial For Introduction to Java Programming By Y. Daniel Liang This tutorial applies to NetBeans 6, 7, or a higher version. This supplement covers the following topics: Getting Started with
More informationContent Author's Reference and Cookbook
Sitecore CMS 7.2 Content Author's Reference and Cookbook Rev. 140225 Sitecore CMS 7.2 Content Author's Reference and Cookbook A Conceptual Overview and Practical Guide to Using Sitecore Table of Contents
More informationAnimation Basics. Learning Objectives
Animation Basics Learning Objectives After completing this chapter, you will be able to: Work with the time slider Understand animation playback controls Understand animation and time controls Morph compound
More informationCOPYRIGHTED MATERIAL. Using Adobe Bridge. Lesson 1
Lesson Using Adobe Bridge What you ll learn in this lesson: Navigating Adobe Bridge Using folders in Bridge Making a Favorite Creating metadata Using automated tools Adobe Bridge is the command center
More informationJava Programming Constructs Java Programming 2 Lesson 1
Java Programming Constructs Java Programming 2 Lesson 1 Course Objectives Welcome to OST's Java 2 course! In this course, you'll learn more in-depth concepts and syntax of the Java Programming language.
More informationChapter 1- The Blender Interface
Chapter 1- The Blender Interface The Blender Screen Years ago, when I first looked at Blender and read some tutorials I thought that this looked easy and made sense. After taking the program for a test
More informationImperative and Object Oriented Programming. Tutorial 1. Charlie Abela Department of Artificial Intelligence
Imperative and Object Oriented Programming Tutorial 1 Department of Artificial Intelligence charlie.abela@um.edu.mt Tutorial 1 In this tutorial you will be using the BlueJ IDE to develop java classes.
More informationMEAP Edition Manning Early Access Program Get Programming with Java Version 1
MEAP Edition Manning Early Access Program Get Programming with Java Version 1 Copyright 2018 Manning Publications For more information on this and other Manning titles go to www.manning.com welcome First,
More informationCS 209 Section 52 Lab 1-A: Getting Started with NetBeans Instructor: J.G. Neal Objectives: Lab Instructions: Log in Create folder CS209
CS 209 Section 52 Lab 1-A: Getting Started with NetBeans Instructor: J.G. Neal Objectives: 1. To create a project in NetBeans. 2. To create, edit, compile, and run a Java program using NetBeans. 3. To
More informationVersion 2.0. Campus 2.0 Student s Guide
Campus 2.0 Student s Guide Version 2.0 Campus 2.0 Student s Guide Error! No text of specified style in document. i Important Notice Copyright 2008 Tegrity, Inc. Disclaimer 2008 Tegrity, Inc. all rights
More informationStarting In Java With JPT in Eclipse
Starting In Java With JPT in Eclipse 1. Installing Java and Eclipse Both Java from Sun Microsystems and the Eclipse development environment are free to download. It is important that Java be installed
More informationLesson 2: First Java Programs
Lesson 2: First Java Programs Lesson 2: First Java Programs Objectives: Discuss why Java is an important programming language. Explain the Java virtual machine and byte code. Choose a user interface style.
More information13 th Windsor Regional Secondary School Computer Programming Competition
SCHOOL OF COMPUTER SCIENCE 13 th Windsor Regional Secondary School Computer Programming Competition Hosted by The School of Computer Science, University of Windsor WORKSHOP I [ Overview of the Java/Eclipse
More informationNetBeans IDE Java Quick Start Tutorial
NetBeans IDE Java Quick Start Tutorial Welcome to NetBeans IDE! This tutorial provides a very simple and quick introduction to the NetBeans IDE workflow by walking you through the creation of a simple
More informationGetting Started with Eclipse for Java
Getting Started with Eclipse for Java Maria Litvin Phillips Academy, Andover, Massachusetts Gary Litvin Skylight Publishing 1. Introduction 2. Downloading and Installing Eclipse 3. Importing and Exporting
More information+ Inheritance. Sometimes we need to create new more specialized types that are similar to types we have already created.
+ Inheritance + Inheritance Classes that we design in Java can be used to model some concept in our program. For example: Pokemon a = new Pokemon(); Pokemon b = new Pokemon() Sometimes we need to create
More informationCS 315 Software Design Homework 1 First Sip of Java Due: Sept. 10, 11:30 PM
CS 315 Software Design Homework 1 First Sip of Java Due: Sept. 10, 11:30 PM Objectives The objectives of this assignment are: to get your first experience with Java to become familiar with Eclipse Java
More informationIntroduction to Unreal Engine Blueprints for Beginners. By Chaven R Yenketswamy
Introduction to Unreal Engine Blueprints for Beginners By Chaven R Yenketswamy Introduction My first two tutorials covered creating and painting 3D objects for inclusion in your Unreal Project. In this
More informationHW2d Project Addenda
HW2d Project Addenda CS 320 Note the following differences between the project description for Harvard s CS 175 class and our class: 1. The CS 175 due date is not applicable. 2. The starter code location
More informationCS 2110 Fall Instructions. 1 Installing the code. Homework 4 Paint Program. 0.1 Grading, Partners, Academic Integrity, Help
CS 2110 Fall 2012 Homework 4 Paint Program Due: Wednesday, 12 November, 11:59PM In this assignment, you will write parts of a simple paint program. Some of the functionality you will implement is: 1. Freehand
More informationInstructions PLEASE READ (notice bold and underlined phrases)
Lab Exercises wk02 Lab Basics First Lab of the course Required Reading Java Foundations - Section 1.1 - The Java Programming Language Instructions PLEASE READ (notice bold and underlined phrases) Lab Exercise
More informationJava with Eclipse: Setup & Getting Started
Java with Eclipse: Setup & Getting Started Originals of slides and source code for examples: http://courses.coreservlets.com/course-materials/java.html Also see Java 8 tutorial: http://www.coreservlets.com/java-8-tutorial/
More informationIn the first class, you'll learn how to create a simple single-view app, following a 3-step process:
Class 1 In the first class, you'll learn how to create a simple single-view app, following a 3-step process: 1. Design the app's user interface (UI) in Xcode's storyboard. 2. Open the assistant editor,
More informationLab #1: A Quick Introduction to the Eclipse IDE
Lab #1: A Quick Introduction to the Eclipse IDE Eclipse is an integrated development environment (IDE) for Java programming. Actually, it is capable of much more than just compiling Java programs but that
More informationRTMS - Software Setup
RTMS - Software Setup These instructions are for setting up the RTMS (Robot Tracking & Management System) software. This software will run on your PC/MAC and will be used for various labs in order to allow
More informationMulti-Project Workspace
Multi-Project Workspace Manage multiple projects within BlueJ Version 2008.06.25 by Manuel Haim C o n t e n t s Preface... 3 Software requirements... 4 Software used for developing / testing... 4 License...
More informationPage Content. Inserting Text To add text to your document, you can type the text directly or use Cut or Copy and Paste or Paste Special.
This section describes how to add content to your pages including text, Microsoft Office documents, images, Flash, and other media content. Inserting Text To add text to your document, you can type the
More informationTABLE OF CONTENTS. 7 Chat Files Attendees Questions Settings... 18
INSTRUCTOR MANUAL TABLE OF CONTENTS Table of Contents... 1 1 Overview... 2 2 Prerequisites... 2 3 Starting the Session... 2 4 Session Menu... 4 4.1 Extending duration... 4 4.2 Lobby Announcement... 5 4.3
More informationSHWETANK KUMAR GUPTA Only For Education Purpose
Introduction Android: INTERVIEW QUESTION AND ANSWER Android is an operating system for mobile devices that includes middleware and key applications, and uses a modified version of the Linux kernel. It
More informationUI Elements. If you are not working in 2D mode, you need to change the texture type to Sprite (2D and UI)
UI Elements 1 2D Sprites If you are not working in 2D mode, you need to change the texture type to Sprite (2D and UI) Change Sprite Mode based on how many images are contained in your texture If you are
More informationUsing Eclipse Europa - A Tutorial
Abstract Lars Vogel Version 0.7 Copyright 2007 Lars Vogel 26.10.2007 Eclipse is a powerful, extensible IDE for building general purpose applications. One of the main applications
More informationCOMP3421 Computer Graphics
COMP3421 Computer Graphics Introduction Angela Finlayson Email: angf@cse.unsw.edu.au Computer Graphics Algorithms to automatically render images from models. Light Camera hi mum Objects model image Computer
More informationBaking Blender materials to texture to make them usable in a game engine
Baking Blender materials to texture to make them usable in a game engine Categories : Uncategorised Date : 19th November 2017 1 / 20 Baking Blender materials to texture to make them usable in a game engine
More informationIntroduction to the Graphics Module Framework
Introduction to the Graphics Module Framework Introduction Unlike the C++ module, which required nothing beyond what you typed in, the graphics module examples rely on lots of extra files - shaders, textures,
More informationDeveloping for Mobile Devices Lab (Part 1 of 2)
Developing for Mobile Devices Lab (Part 1 of 2) Overview Through these two lab sessions you will learn how to create mobile applications for Windows Mobile phones and PDAs. As developing for Windows Mobile
More informationIf you don t have the JDK, you will need to install it. 1. Go to
Developing Android applications in Windows Below you will find information about the components needed for developing Android applications and other (optional) software needed to connect to the institution
More informationJava using LEGO Mindstorms and LeJOS. University of Idaho
Java using LEGO Mindstorms and LeJOS University of Idaho 2 Contents 1 Introduction 1 1.1 Setting up Java and Eclipse................................ 1 1.2 Setting up the Lego Brick to work with LeJOS.....................
More informationTangents. In this tutorial we are going to take a look at how tangents can affect an animation.
Tangents In this tutorial we are going to take a look at how tangents can affect an animation. One of the 12 Principles of Animation is called Slow In and Slow Out. This refers to the spacing of the in
More informationS8352: Java From the Very Beginning Part I - Exercises
S8352: Java From the Very Beginning Part I - Exercises Ex. 1 Hello World This lab uses the Eclipse development environment which provides all of the tools necessary to build, compile and run Java applications.
More informationCreating and Triggering Animations
Creating and Triggering Animations 1. Download the zip file containing BraidGraphics and unzip. 2. Create a new Unity project names TestAnimation and set the 2D option. 3. Create the following folders
More informationEclipse. JVM, main method and using Eclipse. Dr. Siobhán Drohan. Produced by: Department of Computing and Mathematics
Eclipse JVM, main method and using Eclipse Produced by: Dr. Siobhán Drohan Department of Computing and Mathematics http://www.wit.ie/ Topics list Files in Java. Java Virtual Machine. main method. Eclipse
More informationIntroduction to Eclipse
Introduction to Eclipse In this chapter you install and configure Eclipse. I then use the classical HelloWorld example to show how to effectively create Java programs under Eclipse. I first discuss the
More informationBASICS OF MOTIONSTUDIO
EXPERIMENT NO: 1 BASICS OF MOTIONSTUDIO User Interface MotionStudio combines draw, paint and animation in one easy easy-to-use program gram to save time and make work easy. Main Window Main Window is the
More informationProgramming Project 1
Programming Project 1 Handout 6 CSCI 134: Fall, 2016 Guidelines A programming project is a laboratory that you complete on your own, without the help of others. It is a form of take-home exam. You may
More informationVisual HTML5. Human Information Interaction for Knowledge Extraction, Interaction, Utilization, Decision making HI-I-KEIUD
Visual HTML5 1 Overview HTML5 Building apps with HTML5 Visual HTML5 Canvas SVG Scalable Vector Graphics WebGL 2D + 3D libraries 2 HTML5 HTML5 to Mobile + Cloud = Java to desktop computing: cross-platform
More informationChapter Answers. Appendix A. Chapter 1. This appendix provides answers to all of the book s chapter review questions.
Appendix A Chapter Answers This appendix provides answers to all of the book s chapter review questions. Chapter 1 1. What was the original name for the first version of DirectX? B. Games SDK 2. Which
More informationCHAPTER 1 COPYRIGHTED MATERIAL. Finding Your Way in the Inventor Interface
CHAPTER 1 Finding Your Way in the Inventor Interface COPYRIGHTED MATERIAL Understanding Inventor s interface behavior Opening existing files Creating new files Modifying the look and feel of Inventor Managing
More informationPurpose. Why use Java? Installing the Software. Java
Purpose I am providing instructions for those that want to follow along the progress and missteps of Project BrainyCode. Going forward we will just refer to the project a JGG for Java Game Generator (I
More informationBlender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 1 The Blender Interface and Basic Shapes
Blender Notes Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 1 The Blender Interface and Basic Shapes Introduction Blender is a powerful modeling, animation and rendering
More informationLab 0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio
ECE2049 Embedded Computing in Engineering Design Lab 0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio In this lab, you will be introduced to the Code Composer Studio
More informationGoLive will first ask you if your new site will be for one individual or a work group; select for a Single User, and click Next.
Getting Started From the Start menu, located the Adobe folder which should contain the Adobe GoLive 6.0 folder. Inside this folder, click Adobe GoLive 6.0. GoLive will open to its initial project selection
More informationUser Guide. DrawAnywhere.com: User Guide
DrawAnywhere.com: User Guide DrawAnywhere.com is an online diagramming & flow charting application with the look & feel of a desktop application! User Guide http://www.drawanywhere.com August, 2007 Table
More informationWorkbook A dialog box will appear asking for you to select your "workspace". Leave the default as is, which should be /home/crsid/workspace.
In this workbook you will learn how to use Eclipse as a development environment for Java programs. Using Eclipse, you will then write a simple Java messaging client which will allow you to send and receive
More informationGetting to Know Windows 10. Handout
Handout Handout Session Overview We re excited to share the exciting new features of Windows 10 and look forward to answering any questions in real time as we learn more about this updated platform together.
More informationPediGait IP. Users Manual
PediGait IP Users Manual April 2012 Table of Contents Clients Tab... 2 Open a Client file... 2 Delete Client file(s)... 2 Edit a Client... 3 Add a new client... 3 Add Comments to client files... 4 Profiles
More informationWorkshop BOND UNIVERSITY Bachelor of Interactive Multimedia and Design Beginner Game Dev Character Control Building a character animation controller.
Workshop BOND UNIVERSITY Bachelor of Interactive Multimedia and Design Beginner Game Dev Character Control Building a character animation controller. FACULTY OF SOCIETY AND DESIGN Building a character
More informationInstallation Instructions
Installation Instructions Reading App Builder: Installation Instructions 2017, SIL International Last updated: 1 December 2017 You are free to print this manual for personal use and for training workshops.
More informationCreating Vector Shapes Week 2 Assignment 1. Illustrator Defaults
Illustrator Defaults Before we begin, we are going to make sure that all of us are using the same settings within our application. For this class, we will always want to make sure that our application
More informationChapter 1 Introduction to Computers, Programs, and Java. What is a Computer? A Bit of History
Chapter 1 Introduction to Computers, Programs, and Java CS170 Introduction to Computer Science 1 What is a Computer? A machine that manipulates data according to a list of instructions Consists of hardware
More informationFruit Snake SECTION 1
Fruit Snake SECTION 1 For the first full Construct 2 game you're going to create a snake game. In this game, you'll have a snake that will "eat" fruit, and grow longer with each object or piece of fruit
More informationSlickEdit Gadgets. SlickEdit Gadgets
SlickEdit Gadgets As a programmer, one of the best feelings in the world is writing something that makes you want to call your programming buddies over and say, This is cool! Check this out. Sometimes
More information: Rendered background can show navigation mesh : Multi-level backgrounds, priority backgrounds and Z-ordering.
Update history: 2017-04-13: Initial release on Marketplace for UE4.15. 2017-05-09: Rendered background can show navigation mesh. 2017-05-19: Multi-level backgrounds, priority backgrounds and Z-ordering.
More informationADOBE DREAMWEAVER CS4 BASICS
ADOBE DREAMWEAVER CS4 BASICS Dreamweaver CS4 2 This tutorial focuses on the basic steps involved in creating an attractive, functional website. In using this tutorial you will learn to design a site layout,
More informationAdd Photo Mounts To A Photo With Photoshop Part 1
Add Photo Mounts To A Photo With Photoshop Part 1 Written by Steve Patterson. In this Photoshop Effects tutorial, we ll learn how to create and add simplephoto mounts to an image, a nice finishing touch
More informationMobile Computing LECTURE # 2
Mobile Computing LECTURE # 2 The Course Course Code: IT-4545 Course Title: Mobile Computing Instructor: JAWAD AHMAD Email Address: jawadahmad@uoslahore.edu.pk Web Address: http://csandituoslahore.weebly.com/mc.html
More information(Refer Slide Time: 0:48)
Mobile Computing Professor Pushpendra Singh Indraprastha Institute of Information Technology Delhi Lecture 10 Android Studio Last week gave you a quick introduction to android program. You develop a simple
More informationWeb-Friendly Sites. Planning & Design 1
Planning & Design 1 This tutorial presents useful tips and tricks to help you achieve a more Web-friendly design and make your sites more efficient. The following topics are discussed: How Z-order and
More informationHow to lay out a web page with CSS
How to lay out a web page with CSS A CSS page layout uses the Cascading Style Sheets format, rather than traditional HTML tables or frames, to organize the content on a web page. The basic building block
More informationLong Beach Unified School District. Portal User s Guide. August 2014
Long Beach Unified School District Portal User s Guide August 2014 INTRODUCTION The Long Beach Unified School District s PORTAL (mylbusd) provides users with access to District applications, services,
More informationLaboratory 1: Eclipse and Karel the Robot
Math 121: Introduction to Computing Handout #2 Laboratory 1: Eclipse and Karel the Robot Your first laboratory task is to use the Eclipse IDE framework ( integrated development environment, and the d also
More informationTOON BOOM HARMONY Paint Preferences Guide
TOON BOOM HARMONY 12.2.1 Paint Preferences Guide 2 Legal Notices Toon Boom Animation Inc. 4200 Saint-Laurent, Suite 1020 Montreal, Quebec, Canada H2W 2R2 Tel: +1 514 278 8666 Fax: +1 514 278 2666 toonboom.com
More informationProfiling and Debugging Games on Mobile Platforms
Profiling and Debugging Games on Mobile Platforms Lorenzo Dal Col Senior Software Engineer, Graphics Tools Gamelab 2013, Barcelona 26 th June 2013 Agenda Introduction to Performance Analysis with ARM DS-5
More informationComputer Games 2012 Game Development
Computer Games 2012 Game Development Dr. Mathias Lux Klagenfurt University This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 libgdx features High-performance, cross-platform
More informationVMware Horizon Client for Windows 10 UWP User Guide. Modified on 21 SEP 2017 VMware Horizon Client for Windows 10 UWP 4.6
VMware Horizon Client for Windows 10 UWP User Guide Modified on 21 SEP 2017 VMware Horizon Client for Windows 10 UWP 4.6 You can find the most up-to-date technical documentation on the VMware website at:
More informationUseful Google Apps for Teaching and Learning
Useful Google Apps for Teaching and Learning Centre for Development of Teaching and Learning (CDTL) National University of Singapore email: edtech@groups.nus.edu.sg Table of Contents About the Workshop...
More informationCS4621/5621 Fall Computer Graphics Practicum Intro to OpenGL/GLSL
CS4621/5621 Fall 2015 Computer Graphics Practicum Intro to OpenGL/GLSL Professor: Kavita Bala Instructor: Nicolas Savva with slides from Balazs Kovacs, Eston Schweickart, Daniel Schroeder, Jiang Huang
More information6 Starting in Eclipse
Lab 6 c 2007 Felleisen, Proulx, et. al. 6 Starting in Eclipse Goals In the first part of this lab you will learn how to work in a commercial level integrated development environment IDE Eclipse, using
More informationCreating Presentations with ispring
Creating Presentations with ispring Step 1: Download ispring ispring allows you to convert PowerPoint slides with audio narration into an online presentation that will play in your browser. This presentation
More information