Java-Gaming.org
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
Featured games (78)
games approved by the League of Dukes
Games in Showcase (408)
games submitted by our members
Games in WIP (293)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Time Skipping  (Read 792 times)
0 Members and 1 Guest are viewing this topic.
Offline monopolyli

Senior Newbie




Java games rock!


« Posted 2005-03-06 15:46:47 »

for(int i=0; i < ufoMissiles.length; i++) {
ufoMissiles.doDraw(g);
}

For above code, if I want to draw ufoMissiles[1] after 1 second of drawing ufoMissiles[0], which things that I should do? Huh
Thanks for your reply!
Offline ribot

Junior Member




Ribot - mobile UI specialist


« Reply #1 - Posted 2005-03-06 21:05:11 »

The uber simple way would be as follows:

int n = ufoMissiles.length;
for(int i=0;i<n;i++) {
 ufoMissilies.doDraw(g);
 Thread.sleep(1000);
}

http://ribot.co.uk - design agency focused on mobile
http://www.retrospecs.co.uk - online vintage eyewear store
Offline ribot

Junior Member




Ribot - mobile UI specialist


« Reply #2 - Posted 2005-03-06 21:15:02 »

It depends on the way your implementing this but there's another way using timer tasks...

You'd need to create a class extending a TimerTask and override its run method with something like the following:

public void run() {

 ufoMissiles[counter++].doDraw(g);
 if(counter > MAX_VALUE) counter = 0;

}

You would then create an instance of the TimerTask class and set it up so that it would call its run method once every 1000 milliseconds.  There are various constructors for TimerTasks each providing a slightly different feature.  e.g. running forever, running just for a specified peroid of time.....  Hope this helps.

http://ribot.co.uk - design agency focused on mobile
http://www.retrospecs.co.uk - online vintage eyewear store
Games published by our own members! Check 'em out!
Try the Free Demo of Revenge of the Titans
Offline monopolyli

Senior Newbie




Java games rock!


« Reply #3 - Posted 2005-03-07 01:21:12 »

Thanks for Mr ribot.
I tried to apply:
int n = ufoMissiles.length;
for(int i=0;i<n;i++) {
 ufoMissilies.doDraw(g);
 Thread.sleep(1000);
}
but it leads to the screen (all elements) hold a second and then run again.
Sorry, I may not provide very detailed information.
In my program, there is a paint method:
public void paint (Graphics g) {
// doing any drawing
..........................
for(int i=0; i < ufoMissiles.length; i++) {
ufoMissiles.doDraw(g);
}
}
And then my class implements Runnable method,
public void run() {
.............
.............

if(ufoMissileCount < ufoMissiles.length &&ufos.isDropBomb()) {
for(int j=0; j < ufoMissiles.length; j++) {
if(! ufoMissiles[j].isAlive()) {
ufoMissiles[j].setX(0);
ufoMissiles[j].setY(ufos.getY() + ufos.getHeight());
ufoMissiles[j].setAlive(true);
ufoMissileCount++;
break;
}
}
}

........}
So, when the condition is achieved, it will draw the ufoMissile, but the ufoMissiles are too closed when they are displayed, so I want to separate them so that they can be displayed one by one.
Thank you.


Offline davidaprice

Junior Member





« Reply #4 - Posted 2005-03-07 07:23:50 »

You should look at the code where you set that condition ufos.isDropBomb(). Each time a UFO drops a bomb, save in a private field (e.g. 'long lastBombDropTime;') the value of System.currentTimeMillis(). Then don't let that UFO drop its next bomb until 'System.currentTimeMillis() - lastBombDropTime > 1000' (1000ms = 1 second).
Offline monopolyli

Senior Newbie




Java games rock!


« Reply #5 - Posted 2005-03-08 12:07:11 »

I see~ Thanks for David!!
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
 
Browse for soundtracks for your game!

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

The invasion has landed! On Mars! And you're there to beat 'em!
cubemaster21 (126 views)
2013-05-17 21:29:12

alaslipknot (134 views)
2013-05-16 21:24:48

gouessej (164 views)
2013-05-16 00:53:38

gouessej (157 views)
2013-05-16 00:17:58

theagentd (169 views)
2013-05-15 15:01:13

theagentd (154 views)
2013-05-15 15:00:54

StreetDoggy (198 views)
2013-05-14 15:56:26

kutucuk (222 views)
2013-05-12 17:10:36

kutucuk (221 views)
2013-05-12 15:36:09

UnluckyDevil (225 views)
2013-05-12 05:09:57
Complex number cookbook
by Roquen
2013-04-24 12:47:31

2D Dynamic Lighting
by Oskuro
2013-04-17 16:46:12

2D Dynamic Lighting
by Oskuro
2013-04-17 16:45:57

2D Dynamic Lighting
by Oskuro
2013-04-17 16:23:20

Noise (bandpassed white)
by Roquen
2013-04-05 17:36:01

Noise (bandpassed white)
by Roquen
2013-04-03 16:17:38

Java Data structures
by Roquen
2013-03-29 13:21:12

Topic Request
by kutucuk
2013-03-22 21:42:01
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!
Page created in 0.101 seconds with 21 queries.