SmoothCamera:就相當于現實世界的攝像機,要想照到一個物體,要么是攝像機移動,要么是物體移動到攝像頭的范圍內,想要放大或縮小一個物體,要么是物體向前或向后移動,要么是攝像頭變焦
這里討論的就是攝像頭的變焦,Zoom In 放大,Zoom out 縮小,設置中心點就是移動攝像頭,移到指定的物體上,這樣這個物體就在攝像頭的中心位置了
構造函數:
// Camera movement speeds 攝像頭移動的速度
final float maxVelocityX = 10;
final float maxVelocityY = 5;
// Camera zoom speed?? 攝像頭變焦的速度
final float maxZoomFactorChange = 5;
// Create smooth camera
mCamera = new SmoothCamera(0, 0, WIDTH, HEIGHT, maxVelocityX,
maxVelocityY, maxZoomFactorChange);
?
setCenter(x,y):把x,y坐標設置成你平滑攝像頭的中心,并以一定的速度平移到場景的中心位置,即我們看到的場景中間位置
setZoomFactor(f):設置攝像頭的變焦的因子,大于1.0f就相當于放大,小于即相當于縮小,會有動畫效果,速度取決于構造SmoothCamera時的速度因子
?
camera.setCenterDirect(x,y):跟setCenter(x,y)差不多,只有一點區別,就是沒有動畫效果,直接移到中心位置
setZoomFactorDirect(f):跟setZoomFactor(f)差不多,只是沒有動畫效果,直接放大或縮小到指定大小