Sprite jittering in Flash/HTML5 targets when using auto-scrolling



  • Hi there!

    I'm having some jittering issues with my Flash and HTML5 builds, with a really lean and simple code. I was having this problem with a bigger project, so I reduced it to the bare bones to try to find what was happening. Here, the player is just a FlxSprite moving at a constant speed, while the camera follows an invisible object (a Gradius-like camera). Surprisingly, this works great in Neko / Windows targets.

    Here's the full code:

    override public function create():Void
    {
    	super.create();
    	
    	var loader:FlxOgmoLoader = new FlxOgmoLoader(AssetPaths.level1__oel);
    	tilemap = loader.loadTilemap(AssetPaths.tiles__png, 16, 16, "tiles");
    	
    	tilemap.setTileProperties(0, FlxObject.NONE);
    	tilemap.setTileProperties(1, FlxObject.NONE);
    	tilemap.setTileProperties(2, FlxObject.ANY);
    	
    	loader.loadEntities(entityCreator, "entities");
    	
    	FlxG.camera.setScrollBounds(0, tilemap.width, 0, tilemap.height);
    	FlxG.worldBounds.set(0, 0, tilemap.width, tilemap.height);
    	
    	cameraGuide = new FlxSprite(FlxG.width / 2, FlxG.height / 2);
    	cameraGuide.makeGraphic(1, 1, 0x00000000);
    	cameraGuide.velocity.x = 50;
    	FlxG.camera.follow(cameraGuide);
    	
    	player.velocity.x = cameraGuide.velocity.x;	
    	
    	add(cameraGuide);
    	add(tilemap);
    	add(player);
    }
    
    override public function update(elapsed:Float):Void
    {
    	super.update(elapsed);
    	
    	FlxG.collide(tilemap, player);
    }
    

    Any ideas why this could be happening?



  • flash and html5 might lag because of a slow computer or too high of a framerate in haxeflixel (HF). try to set the framerate to a lower value. that might work.



  • Maybe you're building in debug mode. Since Flash and HTML5 are normally slow in debug mode, try to build in release mode.



  • @galoyo I tried it in a lot of different computers and it's the same thing. Tried adjusting the framerate just now, and didn't work either...

    @DleanJeans I have tried release mode and it's the same thing.

    It worked alright before 4.x, but now I have this issue...


  • administrators

    The code snippet you posted isn't very useful because it's not compilable / it requires some assets you didn't provide.



  • @Gama11 Oh, sorry. Here's the repo with all the things: https://github.com/TheOneAndTrueAcid/OgmoLoco


  • administrators

    player.pixelPerfectPosition = false; appears to fix it.



  • @Gama11 damn, it works!

    Thanks <3! A lot of my students were having this problem and didn't know how to fix it.


Log in to reply
 

Looks like your connection to HaxeFlixel was lost, please wait while we try to reconnect.