# Camera not smooth enough?

**URL:** <https://forum.kirupa.com/t/camera-not-smooth-enough/309144>\
**Category:** programming\
**Created:** [May 7, 2010, 11:04pm UTC](https://forum.kirupa.com/t/camera-not-smooth-enough/309144 "2010-05-07T23:04:42Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![WarChimp](https://avatars.discourse-cdn.com/v4/letter/w/a5b964/32.png) [@WarChimp](https://forum.kirupa.com/u/WarChimp)\
**Post date:** [May 7, 2010, 11:04pm UTC](https://forum.kirupa.com/t/camera-not-smooth-enough/309144/1 "2010-05-07T23:04:42Z")

</div>

I’ve got the camera to move with the character ok 🙂

However, when he runs down a slope, the camera starts to get all jerky, but what makes this more confusing is that when the slope is really steep, the camera **is** not jerky going down but my character doesn’t exactly use his run animation down the slope, but when the slope is **NOT** steep the camera gets all jerky.

Here is a preview of the game.

> **[FbWf\_v\_0.swf](https://www.newgrounds.com/dump/item/bfcc1b71dd2b47aa9a461ce6d05425b2)**
>
> FbWf\_v\_0.swf by WarChimp

Here is the code off the “ **going down** ” part of the camera:

```php
onClipEvent (enterFrame) {
	this._visible = false;
	// when the character touches this, move the whole camera
	if (this.hitTest(_root.player)) {
		// move the camera by this much every time he touches
		_root.cam._y += 4.5;
		
	}
}

```

Here is the camera code:

```php
function camControl():Void {
	parentColor.setTransform(camColor.getTransform());
	var scaleX:Number = sX/this._width;
	var scaleY:Number = sY/this._height;
	_parent._x = cX-(this._x*scaleX);
	_parent._y = cY-(this._y*scaleY);
	_parent._xscale = 100*scaleX;
	_parent._yscale = 100*scaleY;
}
function resetStage():Void {
	var resetTrans:Object = {ra:100, rb:0, ga:100, gb:0, ba:100, bb:0, aa:100, ab:0};
	parentColor.setTransform(resetTrans);
	_parent._xscale = 100;
	_parent._yscale = 100;
	_parent._x = 0;
	_parent._y = 0;
}
// make frame invisible
_parent._visible = true;
// Capture stage parameters
var oldMode:String = Stage.scaleMode;
Stage.scaleMode = "exactFit";
var cX:Number = Stage.width/2;
var cY:Number = Stage.height/2;
var sX:Number = Stage.width;
var sY:Number = Stage.height;
Stage.scaleMode = oldMode;
// create color instances for color 
// transforms (if any).
var camColor:Color = new Color(this);
var parentColor:Color = new Color(_parent);
// Make the stage move so that the 
// v-cam is centered on the
// viewport every frame
this.onEnterFrame = camControl;
// Make an explicit call to the camControl
// function to make sure it also runs on the
// first frame.
camControl();
// If the v-cam is ever removed (unloaded)
// the stage, return the stage to the default
// settings.
this.onUnload = resetStage;

```

Finally here is the “ **slope** ” code off the main character:

```php
	///// this is the sloping code
	grav++;
	_y += grav;
	while (_root.ground.hitTest(_x, _y, true)) {
		_y--;
		grav = 0;
	}

```

If you need anything else just ask

Thanks in advance

WarChimp
