KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I've written a fairly simple java application that allows you to drag your mouse and based on the length of the mouse drag you did, it will shoot a ball in that direction, bouncing off walls as it goes. Here is a quick screenshot: alt text http://img222.imageshack.us/img222/3179/ballbouncemf9.png Each one of the circles on the screen is a Ball object. The balls movement is broken down into an x and y vector; public class Ball { public int xPos; public int yPos; public int xVector; public int yVector; public Ball(int xPos, int yPos, int xVector, int yVector) { this.xPos = xPos; this.yPos = yPos; this.xVector = xVector; this.yVector = yVector; } public void step() { posX += xVector; posY += yVector; checkCollisions(); } public void checkCollisions() { // Check if we have collided with a wall // If we have, take the negative of the appropriate vector // Depending on which wall you hit } public void draw() { // draw our circle at it's position } } This works great. All the balls bounce around and around from wall to wall. However, I have decided that I want to be able to include the effects of gravity. I know that objects accelerate toward the earth at 9.8m/s but I don't directly know how this should translate into code. I realize that the yVector will be affected but my experimentation with this didn't have the desired effect I wanted. Ideally, I would like to be able to add some gravity effect to this program and also allow the balls to bounce a few times before settling to the "ground." How can I create this bouncing-elastic, gravity effect? How must I manipulate the speed vectors of the ball on each step? What must be done when it
Tags (comma-separated)
Save Edits
Cancel