Slick Forums

Discuss the Slick 2D Library
It is currently Wed Jun 19, 2013 3:33 am

All times are UTC




Post new topic Reply to topic  [ 2 posts ] 
Author Message
PostPosted: Tue May 08, 2012 2:49 am 
Offline

Joined: Mon Feb 13, 2012 6:31 pm
Posts: 40
Hi, I've been using ParticleSystem to draw particles, and it has been doing fine until I turned on vsync on my game. The game has like 10 kinds of configured emitters generated by the particle editor, and while other 9 works just fine with vsync turned on, this particular emitter acts different when I'm running my game at 2000 FPS and when vsynced at 60FPS.

I'm using delta to update the particle system and since other 9 emitters works fine with vsync, I'm no sure why this one acts weird.

It's supposed to spread 180 degrees towards top screen but it will instead fall towards the bottom screen when running the game at 60 fps.

Does anyone know how to fix it?

Code:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<emitter imageName="p_blood.png" name="Default" renderType="inherit" useAdditive="false" useOriented="false">
<spawnInterval enabled="true" max="3000.0" min="3000.0"/>
<spawnCount enabled="true" max="5.0" min="5.0"/>
<initialLife enabled="true" max="1500.0" min="500.0"/>
<initialSize enabled="false" max="10.0" min="10.0"/>
<xOffset enabled="true" max="3.0" min="-3.0"/>
<yOffset enabled="true" max="3.0" min="-3.0"/>
<initialDistance enabled="true" max="0.0" min="0.0"/>
<speed enabled="true" max="5.0" min="1.0"/>
<length enabled="true" max="1500.0" min="1500.0"/>
<emitCount enabled="false" max="1000.0" min="1000.0"/>
<spread type="random" value="57.0"/>
<angularOffset type="simple" value="360.0"/>
<growthFactor type="simple" value="0.0"/>
<gravityFactor type="simple" value="17.0"/>
<windFactor type="simple" value="0.0"/>
<startAlpha type="simple" value="255.0"/>
<endAlpha type="simple" value="0.0"/>
<alpha active="true" max="255" min="0" type="linear">
<point x="0.0" y="255.0"/>
<point x="0.31198347" y="255.0"/>
<point x="0.44008264" y="158.82857"/>
<point x="0.7252066" y="59.742855"/>
<point x="1.0" y="0.0"/>
</alpha>
<size active="true" max="50" min="0" type="linear">
<point x="0.0" y="8.285714"/>
<point x="0.0661157" y="12.285714"/>
<point x="0.20661157" y="9.428572"/>
<point x="0.38842976" y="1.7142857"/>
<point x="1.0" y="26.0"/>
</size>
<velocity active="true" max="1" min="-1" type="linear">
<point x="0.0" y="0.114285715"/>
<point x="0.04338843" y="0.18857142"/>
<point x="0.11983471" y="0.14285715"/>
<point x="0.34917355" y="0.05142857"/>
<point x="0.6859504" y="-0.17714286"/>
<point x="1.0" y="-0.69142854"/>
</velocity>
<scaleY active="false" max="1" min="0" type="linear">
<point x="0.0" y="0.0"/>
<point x="1.0" y="1.0"/>
</scaleY>
<color>
<step b="1.0" g="1.0" offset="0.0" r="1.0"/>
<step b="0.0" g="0.0" offset="1.0" r="1.0"/>
</color>
</emitter>


Top
 Profile  
 
PostPosted: Tue May 08, 2012 11:36 am 
Offline

Joined: Mon Feb 13, 2012 6:31 pm
Posts: 40
The problem was sovled. I don't know how it works but I changed the line in ConfigurableEmitter.java like below and it started working properly.


Code:
   if (velocity.isActive()) {
         p.setVelocity(xv, yv, power * 0.001f * delta);
      } else {
         p.setVelocity(xv, yv, power * 0.001f);
      }


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group