This site requires JavaScript, please enable it in your browser!
Greenfoot back
Roshan123
Roshan123 wrote ...

2020/5/16

game lag

Roshan123 Roshan123

2020/5/16

#
hey danpost, plz help me out my game is lagging a lot i.e. DAWN OF WAR 2(PC AND MOBILE) when i play this on greenfoot it doesn't lag, but when i open this on chrome i lags a lot. even if i am not having any network problems
Roshan123 Roshan123

2020/5/16

#
problem solved .now i m not having any problems
Roshan123 Roshan123

2020/5/16

#
but i have a question when i wrote this my game a lagging a lot. how
import greenfoot.*;  
import java.util.List;
public class CopyOfCounter extends Actor
{
    int score;
    int diamond1;
    int time;
    int weapon_level;
    public CopyOfCounter()
    {
       weapon_level+=1;
       setImage(new GreenfootImage("SCORE: " + score + "\nDIAMONDS: "+ diamond1 + "\n TIME: " 
       + time/60 +"\n WEAPON LEVEL: "+ weapon_level,40,Color.WHITE,new Color(60,60,40,40)));
    }
    public void act() 
    {
     time++;
     setImage(new GreenfootImage("SCORE: " + score + "\nDIAMONDS: "+ diamond1 + "\n TIME: " 
     + time/60+"\n WEAPON LEVEL: "+ weapon_level,40,Color.WHITE,new Color(60,60,40,40)));
    
    List objects = getWorld().getObjects(CopyOfZombie.class);
    List objects2 = getWorld().getObjects(CopyOfProjectile.class);
    List objects6 = getWorld().getObjects(CopyOfWeaponButton.class);
    
    if (UserInfo.isStorageAvailable()) {
         UserInfo myInfo = UserInfo.getMyInfo();
         if (score > myInfo.getScore()) {
             myInfo.setScore(score);
             myInfo.store();  // write back to server
         }
     }
    
    if (score >= 400)
    {
       getWorld().removeObjects(objects);
       getWorld().removeObjects(objects2);
       getWorld().removeObjects(objects6);
       Greenfoot.setWorld(new Win());
    }
   
    if(weapon_level>2)
     {
       weapon_level=2;   
     }
    }
}
Roshan123 Roshan123

2020/5/16

#
and when i cleared 25,26.27.28.and line number 29 ,it was not lagging
import greenfoot.*;  
import java.util.List;
public class CopyOfCounter extends Actor
{
    int score;
    int diamond1;
    int time;
    int weapon_level;
    public CopyOfCounter()
    {
       weapon_level+=1;
       setImage(new GreenfootImage("SCORE: " + score + "\nDIAMONDS: "+ diamond1 + "\n TIME: " 
       + time/60 +"\n WEAPON LEVEL: "+ weapon_level,40,Color.WHITE,new Color(60,60,40,40)));
    }
    public void act() 
    {
     time++;
     setImage(new GreenfootImage("SCORE: " + score + "\nDIAMONDS: "+ diamond1 + "\n TIME: " 
     + time/60+"\n WEAPON LEVEL: "+ weapon_level,40,Color.WHITE,new Color(60,60,40,40)));
    
    List objects = getWorld().getObjects(CopyOfZombie.class);
    List objects2 = getWorld().getObjects(CopyOfProjectile.class);
    List objects6 = getWorld().getObjects(CopyOfWeaponButton.class);
    
    if (UserInfo.isStorageAvailable()) {
         UserInfo myInfo = UserInfo.getMyInfo();
         if (score > myInfo.getScore()) {
             myInfo.setScore(score);
             myInfo.store();  // write back to server
         }
     }
    
    if (score >= 400)
    {
       getWorld().removeObjects(objects);
       getWorld().removeObjects(objects2);
       getWorld().removeObjects(objects6);
       Greenfoot.setWorld(new Win());
    }
   
    if(weapon_level>2)
     {
       weapon_level=2;   
     }
    }
}
danpost danpost

2020/5/16

#
Roshan123 wrote...
but i have a question when i wrote this my game a lagging a lot. how << Code Omitted >> and when i cleared 25,26.27.28.and line number 29 ,it was not lagging << Code Omitted >>
It takes noticeable CPU time to access the UserInfo server. By trying to access it unconditionally every act step it becomes quite noticeable. By putting those lines inside the next if block (where game over is detected), you access it only when you need to.
You need to login to post a reply.