Home Answers Viewqa Java3D function for swing the ball with appropriate angle

 
 


rhishikesh
function for swing the ball with appropriate angle
4 Answer(s)      4 years and 4 months ago
Posted in : Java3D

View Answers

January 19, 2009 at 6:10 AM


Hi friend,


import java.awt.*;
import java.util.*;

public class Ball {

float x, y;
float radius;
float speed;
float moveAngle;
private Color color;

// Constructor
public Ball(float x, float y, float radius, float speed, float angleInDegree, Color color) {
this.x = x;
this.y = y;
this.speed = speed;
this.moveAngle = (float)Math.toRadians(angleInDegree);
this.radius = radius;
this.color = color;
}

public float getSpeedX() {
return speed * (float)Math.cos(moveAngle);
}

public float getSpeedY() {
return speed * (float)Math.sin(moveAngle);
}

// Update the position of the ball (move one step).
public void update() {
x += getSpeedX();
y += getSpeedY();
}

// Draw itself
public void draw(Graphics g) {
g.setColor(color);
g.fillOval((int)(x - radius), (int)(y - radius), (int)(2 * radius), (int)(2 * radius));
}

// For debugging.
public String toString() {
StringBuilder sb = new StringBuilder();
Formatter formatter = new Formatter(sb);
formatter.format("(%3.0f,%3.0f) V=%5.2f \u0398=%8.3f",
x, y, speed, Math.toDegrees(moveAngle));
return sb.toString();
}
}

January 19, 2009 at 6:10 AM


import java.awt.*;
import java.util.Random;
import javax.swing.*;

public class BallWorld extends JFrame {

private static final int BOX_WIDTH = 640;
private static final int BOX_HEIGHT = 480;
private static final int UPDATE_RATE = 30;
private static final long UPDATE_PERIOD = 1000L / UPDATE_RATE;

private Ball ball;
// Handle for the custom drawing panel
private GameCanvas box;

// Constructor to create the UI components and init the game objects
public BallWorld() {
// UI components
box = new GameCanvas();
box.setPreferredSize(new Dimension(BOX_WIDTH, BOX_HEIGHT));
this.setContentPane(box);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.pack();
this.setTitle("Bouncing Ball");
this.setVisible(true);

// Start the game
gameStart();
}

// Start the ball bouncing
public void gameStart() {
// Generate a ball at a random location and moveAngle.
int radius = 200;
Random rand = new Random();
int x = rand.nextInt(BOX_WIDTH - radius * 2) + radius;
int y = rand.nextInt(BOX_HEIGHT - radius * 2) + radius;
int speed = 5;
int angleInDegree = rand.nextInt(360) - 179;
ball = new Ball(x, y, radius, speed, angleInDegree, Color.pink);
Thread gameThread = new Thread() {
public void run() {
while (true) {
gameUpdate();
repaint();

try {
Thread.sleep(UPDATE_PERIOD);
} catch (InterruptedException ex) { }
}
}
};
gameThread.start();
}

// Update the game objects and states
public void gameUpdate() {
// Compute the new position
ball.update();
// Detect collision and provide response
box.collidedWith(ball);
}

class GameCanvas extends JPanel {

public void paintComponent(Graphics g) {
super.paintComponent(g);
setBackground(Color.BLACK);
ball.draw(g);
// Display ball info for debugging.
g.setColor(Color.WHITE);
g.setFont(new Font("Courier New", Font.PLAIN, 12));
g.drawString("Ball: " + ball, 10, 20);
}

// Detect collision with the given ball, and provide response.
public boolean collidedWith(Ball ball) {
float currX = ball.x;
float currY = ball.y;
float radius = ball.radius;

if (currX + radius < BOX_WIDTH && currX - radius >= 0
&& currY + radius < BOX_HEIGHT && currY - radius >= 0) {
return false;
}

January 19, 2009 at 6:11 AM


// collision
synchronized (ball) {
float prevX = currX - ball.getSpeedX();
float prevY = currY - ball.getSpeedY();
float angle = ball.moveAngle;
float angleTangent = (float)Math.tan(angle);
float newX, newY;

if (currX + radius >= BOX_WIDTH) {
newX = BOX_WIDTH - 1 - radius;
newY = angleTangent * (newX - prevX) + prevY;
ball.x = newX;
ball.y = newY;
// Keep the angle within -pi to pi (not necessary)
if (angle >= 0) {
ball.moveAngle = (float)Math.PI - angle;
} else {
ball.moveAngle = -(float)Math.PI - angle;
}
} else if (currX - radius < 0) {
newX = radius;
newY = angleTangent * (newX - prevX) + prevY;
ball.x = newX;
ball.y = newY;
// Keep the angle within -pi to pi (not necessary)
if (angle >= 0) {
ball.moveAngle = (float)Math.PI - angle;
} else {
ball.moveAngle = -(float)Math.PI - angle;
}
}
currX = ball.x;
currY = ball.y;
angle = ball.moveAngle;
if (currY + radius >= BOX_HEIGHT) {
newY = BOX_HEIGHT - 1 - radius;
newX = (newY - prevY) / angleTangent + prevX;
ball.x = newX;
ball.y = newY;
ball.moveAngle = -angle;
} else if (currY - radius < 0) {
newY = radius;
newX = (newY - prevY) / angleTangent + prevX;
ball.x = newX;
ball.y = newY;
ball.moveAngle = -angle;
}
}
return true;
}
}

public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
new BallWorld();
}
});
}
}

---------------------------------------

visit for more information:

http://www.roseindia.net/java/example/java/swing/

Thanks.

January 19, 2009 at 6:12 AM


Amardeep









Related Pages:
function for swing the ball with appropriate angle - Java3D
function for swing the ball with appropriate angle  how i can swing the particular thing with appropriate angle  Hi friend, import java.awt.*; import java.util.*; public class Ball { float x, y
moving function - Java3D
moving function  i am working on one project in java. can their is function available for speed. i want move 2d ball with appropriate speed. can i increse or decrese speed with the help of java function   Hi friend
Moving ball - Applet
java.lang.Thread; import java.lang.*; public class Moving_ball extends Applet...) {} } } public static void main(String args[]) { Moving_ball mb=new Moving_ball(); } } In the above program I would like to make the ball appear
why my keyevent not function ? - java swing -
why my keyevent not function ? - java swing -   import java.awt.*; import java.awt.event.*; import javax.swing.*; import...(); frame.setTitle( "Four Function Calculator"); frame.setSize( 500, 120
why my keyevent not function ? - java swing -
why my keyevent not function ? - java swing -   import java.awt.*; import java.awt.event.*; import javax.swing.*; import...(); frame.setTitle( "Four Function Calculator"); frame.setSize( 500, 120
How to design a golf ball, design a golf ball, a golf ball
How to design a golf ball       Make your own golf ball shape by take help of this example. New File: Take a new file. Halftone Pattern: Go to filter menu > Sketch
How to design a bouncing cricket ball, design a bouncing cricket ball, cricket ball
How to design a bouncing cricket ball       Now you can bounce a cricket ball by using... a cricket ball. Capture a ball: Capture any cricket ball picture and set
How to make a blast soccer ball, make a blast soccer ball, blast soccer ball
How to make a blast soccer ball       You have chance to learn a blast soccer ball by this example, I is fully described to learn easily.  Ball picture: First take a soccer
Java Swing Tutorials
Java Swing Tutorials       Java Swing tutorials -  Here you will find many Java Swing examples... use it in your program. Java Swing tutorials first gives you brief description
"Doubt on Swing" - Java Beginners
"Doubt on Swing"  Hi Friend.... Thanks for ur goog Response.. i need to create a GUI Like... pic1.gif RadioButton pic2.gif RadioButton Pic3.gif RadioButton If we have select d appropriate radio
How to Declare fflush() Function in PHP
How to Declare fflush() Function in PHP  Hi, Can someone give my any online example for write all the buffered data of an open file. Is it appropriate to use the PHP fflush() Function to develop this application? Please suggest
Load function ***PLEASE HELP
Load function ***PLEASE HELP   Hi I am writing a program that tracks... function that loads a file. The save function prompts the user to enter... a load function that prompts the user for the file name to be loaded
function
function  difference between function overloading and operator overloading
Sitemap Java Swing Tutorial
delete data | JPA Sqrt Function | JPA Abs Function | JPA Many-to-one... in NetBeans | JPA Count Function | JPA executeUpdate | JPA delete data... example with Maven2 | JPA Locate Function | JPA Length Function | JPA
java programming - Swing AWT
java programming  Develop a simple paint like program that can draw basic graphical primitives in different dimensions and colors. use appropriate menus and buttons
Bouncing Ball
Java: Example - Bouncing Ball This program does a simple animation... intervals (eg, every 35 milliseconds). The listener tells the ball to move... paintComponent() method, which then draws the ball with the updated coordinates
SWING
SWING  A JAVA CODE OF MOVING TRAIN IN SWING
c c++ - Swing AWT
; private Timer timer; private Image ball; private Image apple; private Image...")); ball = iid.getImage(); ImageIcon iia = new ImageIcon(this.getClass().getResource...[z], y[z], this); else g.drawImage(ball, x[z], y[z
Combobox application - Swing AWT
function...please suggest...  Is it Swing ? If not using
swing
swing  Write a java swing program to delete a selected record from a table
swing
swing  How to make swing component auto-resizable when JFrame resize
java - Swing AWT
function & display that selected file name in textfield,but pbm is not display... for upload image in JAVA SWING....  Hi Friend, Try the following code
Swing
Swing  Write a java swing program to search the details of the students. Searching is performed on studentā??s first name. The details of all those students having same name as in given in searching criterion will be displayed
Swing
Swing  Write a java swing program to search the details of the students. Searching is performed on studentā??s first name. The details of all those students having same name as in given in searching criterion will be displayed
MX Rotate Effect in Flex4
] public var angle:int=0; public function Rotation():void... the starting and ending angle of rotation. You can use the following attribute for set the angle. 1. angleFrom="0" 2. angleTo="360"
Select from drop down and load the appropriate application resource.properties in struts2
Select from drop down and load the appropriate application resource.properties in struts2  I would like to use a dropdown for selecting a language in my application .On selecting a language the appropriate
JFrame components printing - Swing AWT
/example/java/swing/Print.shtml and downloaded the codes and compiled it got...) at java.awt.EventDispatchThread.run(Unknown Source) so what can i do to avoid and function it properly... Swing Components"); WindowShow.setNativeLookAndFeel(); Container content
JFrame Components Printing - Swing AWT
/example/java/swing/Print.shtml and downloaded the codes and compiled it got... and function it properly and i have altered the PrintExample content like... PrintExample() { super("Printing Swing Components
JFrame components printing - Swing AWT
/example/java/swing/Print.shtml and downloaded the codes and compiled it got...) at java.awt.EventDispatchThread.run(Unknown Source) so what can i do to avoid and function it properly... Swing Components"); WindowShow.setNativeLookAndFeel(); Container content
PHP function uploaded_file() and example
Syntax for PHP uploaded_file() Function bool move_uploaded_file (file_name... only to the files uploaded by HTTP POST PHP uploaded_file() Function with Example Code for PHP uploaded_file() Function <html> <body>
Java Swing Key Event
Java Swing Key Event In this tutorial, you will learn how to perform key event in java swing. Here is an example that change the case of characters... KeyAdapter to perform the keyReleased function over textfield. Example: import
Coding errors for printing function, please help
Coding errors for printing function, please help  Hello, We, my classmates and I, wrote this software but I ran into problems with printing button.../swing/Print.shtml
Hibernate Projections Tutorials and Examples
, you will learn about the hibernate projections with an appropriate example... function like: sum() using hibernate projection. 
Event on Slide bar In Java
handling for a swing component named Slide bar. This section provides a complete solution for the appropriate functionality by providing a program. Program Description
Discuss the Number Class in the java.lang package & list all its subclasses with appropriate examples.
Discuss the Number Class in the java.lang package & list all its subclasses with appropriate examples.  Discuss the Number Class in the java.lang package & list all its subclasses with appropriate examples
Discuss the Number Class in the java.lang package & list all its subclasses with appropriate examples.
Discuss the Number Class in the java.lang package & list all its subclasses with appropriate examples.  Discuss the Number Class in the java.lang package & list all its subclasses with appropriate examples
Discuss the Number Class in the java.lang package & list all its subclasses with appropriate examples.
Discuss the Number Class in the java.lang package & list all its subclasses with appropriate examples.  Discuss the Number Class in the java.lang package & list all its subclasses with appropriate examples
Discuss the Number Class in the java.lang package & list all its subclasses with appropriate examples.
Discuss the Number Class in the java.lang package & list all its subclasses with appropriate examples.  Discuss the Number Class in the java.lang package & list all its subclasses with appropriate examples
Drag Demo
the ball around on the applet to the left. The source for this program is given below... /** DragBallPanel.java - Panel that allows dragging a ball around. @author Fred... to position is tested to see if it's in the area of the ball. If it is, (1
TristateCheckBox based on the Swing JCheckBox - Java Tutorials
TristateCheckBox based on the Swing JCheckBox   2003-12-02 The Java Specialists' Newsletter [Issue 082] - TristateCheckBox based on the Swing JCheckBox... ball across the grass (or rather the bushes) in Somerset West
java swing - Swing AWT
java swing  how i can insert multiple cive me exampleolumn and row in one JList in swing?plz g  Hi Friend, Please clarify your question. Thanks
swing-awt - Swing AWT
swing-awt  Hi, Thanks for replying to my question...I'm getting some confusion to add action events in my application(Rich Text Editor).How to add action events? Thank U
how to write function of copy from one to another location in this code
how to write function of copy from one to another location in this code  I need to write a code to copy a file from one location to another using... to add code for copy using swing!! thanks in advance.** /* For Browse button
virtual on screen keyboard project - Swing AWT
virtual on screen keyboard project  Hi im doing my project work on virtual onscreen keyboard. i want the code for key function of shift and capslock.please send me the code   Hi Friend, For CapsLock key,try
swing/awt - Swing AWT
swing/awt  How to create richtexteditor using swings...?I'm very much new to swings....It's urgent.....Thank u...   hello read this book you get idea; JFC Swing Tutorial, The: A Guide to Constructing GUIs, Second
Swing paint - Swing AWT
Swing paint  hi, i want to print something on window using swing applet.. m doing dis.. protected void paintComponent(Graphics g... the Swing Applet, use html file with the following code: Java Applet Demo

Ask Questions?

If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.

Ask your questions, our development team will try to give answers to your questions.