Discuss About Side Scroller With A Neat Uml Diagram
Discuss About Side Scroller With A Neat Uml Diagram
2. or Explain a Jumping Jack player and how to design the interface environments for Jumping Jack
application.
o JumpingJack, a side scroller in the Super Mario mould, considerably simpler, that
illustrates tile maps, layers, parallax scrolling
o A jumping hero called ‘Jack’ who has to dodge exploding fireballs.
o JumpingJack has a few unusual elements:
▪ the foreground is a tile map, which Jack scrambles over, but the other layers are
large GIFs.
▪ the background layers and tiles wrap around the drawing area, so if Jack travels
long enough he returns to his starting point.
o The arrow keys make Jack move left, right, stand still, and jump.
o Once Jack starts moving (when the user presses the left or right arrow keys), he keeps
moving until he hits a brick.
o To prevent him stopping, the user should press the jump key (up arrow) to make him
hop over bricks in his path.
o Fireballs shoot out from the right edge of the panel, heading to the left, unaffected by
bricks in their way.
o If a fireball hits Jack, the number of hits reported in the top-left of the panel is
incremented; when it reaches 20, the game is over, and a score is reported.
o As a slight relief, only a single fireball is shot at Jack at a time.
Interface environments
The easiest way of understanding JumpingJack's coding design is to consider the graphical
layers making up the on-screen image.
The scenic background is made from three GIFs (mountains.gif, houses.gif, and trees.gif in
/Images), all wider than the JPanel, and moving at different speeds behind the bricks layer
and sprites
The images are drawn to the JPanel in back-to-front order, and easily combined since
houses.gif and trees.gif contain large transparent areas.
The bricks layer is composed from bricks, positioned on-screen according to a bricks map
created by the programmer.
The bricks layer is also wider than the JPanel, and wraps around in a similar way to the
Ribbon backgrounds.
o Isometric tiles are the basis of many real-time strategy (RTS) games, war games, and
simulations, though the tiling of the game surface is usually hidden.
o AlienTiles is a basic isometric tile game consisting of one player who must pick up a cup,
flower pot, and a watch before four nasty aliens catch and hit him three times.
o Isometric tiles give an artificial sense of depth as if the player’s viewpoint is somewhere
up in the sky, looking down over the playing area.
o It's artificial since no perspective effects are applied:
▪ the tiles in the row ‘nearest’ the viewer are the same size
▪ shape as the tiles in the most ‘distant’ row at the top of the screen.
o This is where the term isometric comes from: an isometric projection is a 3D projection
that doesn’t correct for distance.
o The illusion that each row of tiles is further back inside the game is supported by the z-
ordering of things (sprites, objects) drawn in the rows.
o detail about its implementation process (idk this)
4. Why is Java 3D required? Explain the concept of checkers 3D game.
A high-level API for building interactive 3D applications and applets uses a scene graph to
model/control the 3D scene Fast and efficient impl. on a variety of platforms built on top of
OpenGL and DirectX Other features: object behaviors user interaction loaders for many 3D
file formats
Checker3D: The scene consists of a dark green and blue tiled surface (and red center) labels
along the X and Z axes a blue background a floating sphere lit from two different directions
the user (viewer) can move through the scene by moving the mouse
Checkers3D is the top-level JFrame for the application. WrapCheckers3D is a JPanel holding the
scene graph, which is viewable via a Canvas3D object. CheckerFloor creates the subgraph for the
floor (e.g., tiles, axes, etc.), with all the same colored tiles represented by a single ColoredTiles
object.
5. Discuss in detail about loading and managing external nodes.
It is possible to build complex geometries in Java 3D by using a subclass of GeometryArray (e.g. a
QuadArray, TriangleStripArray), but there is little help available except for the “try it and see”
approach. It makes much better sense to create the object using 3D modeling software, and
then load it into your Java 3D application at run time.