Latest Tutorials| Questions and Answers|Ask Questions?|Site Map



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

Have Programming Question? Ask it here!
 
 
 


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



Advertisement
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 Tutorials/Questions & Answers:
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 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
Advertisements
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
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 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
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
SWING
SWING  A JAVA CODE OF MOVING TRAIN IN SWING
function
function  difference between function overloading and operator overloading
swing
swing  How to make swing component auto-resizable when JFrame resize
swing
swing  Write a java swing program to delete a selected record from a table
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
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
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
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-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
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  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
SWING FRMES
SWING FRMES  hai SIR? HOW TO DESIGN swing Frames send source code
SWING FRMES
SWING FRMES  hai SIR? HOW TO DESIGN swing Frames send source code
Swing Program
Swing Program  Write a java swing program to calculate the age from given date of birth
swing sms
swing sms  HOW TO SEND SMS MESSAGE FROM SWING USING SQL DATABASE
java swing - Swing AWT
java swing  how to add image in JPanel in Swing?  Hi Friend, Try the following code: import java.awt.*; import java.awt.image....: http://www.roseindia.net/java/example/java/swing/ Thanks
java swing - Swing AWT
java swing   how i can insert in JFrame in swing?  Hi Friend, Try the following code: import java.awt.*; import javax.swing.*; import java.awt.event.*; class FormDemo extends JFrame { JButton ADD; JPanel
"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
java swing - Swing AWT
java swing   Iam developing a java web browser.Actually my code works fine ie. i can load a web page without proxy.But in my place i have only proxy servers through which i should visit any web site.So, i want my browser also
SWING - Swing AWT
SWING  how can i insert image in Jpanel by extending class with JFrame in swing?  Hi Friend, Try the following code: import java.awt.*; import java.awt.image.*; import java.io.*; import javax.imageio.*; import
Jva swing
Jva swing   How to create the model form like "Notepad
printing in swing
printing in swing  How can i print payslip in swing
java swing
java swing  view the book details using swing
AWT & SWING
AWT & SWING  What is diffennce between AWT & SWING
Java swing
Java swing  Does Swing contains any heavy weight component
Java swing
Java swing  what are the root classes of all classes in swing
swing program
swing program  Write a java swing program to getname and email id. Display the message if email id contains the name of theuser
Swing question - Swing AWT
Swing question  I want to move a string in JFrame similarily as done by marquee tag in HTML.The string should move from right to left. How can I do this?  Hi Friend, Try the following code: import java.awt.
SWING - Swing AWT
SWING  how to insert image and components such as JLabel,JButton,JTextfield in JFrame in swing?  Hi Friend, Try the following code: import java.io.*; import java.awt.*; import javax.swing.*; import
swing - Swing AWT
swing   how to create JTabbedPane.when i choose one jtabbedpane it will appear JTextField,resultMessages.pls give me any examples  Hi Friend, Try the following code: import javax.swing.*; import java.awt.
isNaN function
isNaN function  What does isNaN function do
swing with jdbc - Swing AWT
swing with jdbc  Hi, i m developing the desktop application using swing.i want to use table structure for that.also its DB specific application. i have some problems with swing using jdbc. 1. the values entered in table
java swing
java swing  what is java swing   Swing is a principal GUI toolkit for the Java programming language. It is a part of the JFC (Java... the following link: Swing Tutorials
Swing application
Swing application  Hello, I want to develop a Swing application similar to J2EE application.The only difference is that, the users will access the application not through web browsers, instead through a Swing desktop application
function addValue
function addValue  i have question about the javascript the function addvalue script is working to add some name but is not save on the html so please resolve my problem what can i do for addvalue function will be to save
function addValue
function addValue  i have question about the javascript the function addvalue script is working to add some name but is not save on the html so please resolve my problem what can i do for addvalue function will be to save
function addValue
function addValue  i have question about the javascript the function addvalue script is working to add some name but is not save on the html so please resolve my problem what can i do for addvalue function will be to save
Advertisements
 

 

 

DMCA.com