誰能告訴我如何找出精靈圖像相對於背景圖像的相對位置? 即當背景被平移(滾動)時,圖像應該與背景一起移動。找到相對於背景圖像的精靈位置
回答
好...用於滾動時使與背景一起精靈movce, 代碼:
初始化
PointF touchStart = new PointF();
PointF picStart = new PointF();
PointF prevPicStart = new PointF();
,並在實施的onTouchEvent()方法來:
@Override
public boolean onTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
touchStart.set(ev.getX(), ev.getY());
x = ev.getX();
y = ev.getY();
break;
case MotionEvent.ACTION_MOVE: {
newX = ev.getX() - touchStart.x + prevPicStart.x;
newY = ev.getY() - touchStart.y + prevPicStart.y;
if ((newX <= 0 && newX > 0 - BG_image.getWidth() + ActivityClass.DISP_WIDTH)) {
picStart.x = newX;
}
if ((newY <= 0 && newY > 0 - BG_image.getHeight() + ActivityClass.DISP_HEIGHT)) {
picStart.y = newY;
}
invalidate();
break;
}
case MotionEvent.ACTION_UP:
prevPicStart.x = picStart.x;
prevPicStart.y = picStart.y;
break;
}
return true;
}
onDraw()方法:
@Override
protected void onDraw(Canvas canvas) {
Paint paint = new Paint();
canvas.drawBitmap(mBG_l1, picStart.x, picStart.y, paint);
canvas.translate(picStart.x, picStart.y);
person.draw(canvas);
}
Sprite是背景圖像的孩子嗎?如果沒有,你可以使用一個名爲localtoGlobal的方法,將點對象從Sprite的(本地)座標轉換爲背景(全局)座標。
一種可能的解決方案是使用虛擬的x和y位置精靈,並且具有原點的x和y位置(這將是在屏幕的左上角)。
當您想要滾動屏幕時,只需修改原點x和y位置。
然後在任何地方你畫一些東西到屏幕上,你需要從虛擬位置減去原點位置。
例如,
canvas.drawBitmap(bitmap, x - originX, y - originY, paint);
每當你移動任何精靈,你操縱他們的'虛擬'x和y位置。如果將虛擬x,y翻譯爲實際屏幕x,y,則通過減去原點,所有東西都會一起移動。
現在,例如,如果您希望您的背景從右向左滾動,您只需將每幀添加到originX。
修改原點X和Y?那不是從那個角度重新繪製整個圖像嗎? 和示例將會有所幫助。 – Blacklight119 2011-02-28 12:24:31
是的,它會重繪整個圖像,這是滾動背景的基礎。 – Kevin 2011-03-01 16:53:58
- 1. 對齊背景精靈圖像
- 2. 設置背景中精靈圖像位置的大小
- 3. 「單精靈背景圖像」的背景定位技術
- 4. CSS3 - 精靈圖像的「背景位置」之間的淡出
- 5. IE6背景位置與精靈
- 6. 在中心位置精靈背景
- 7. CSS - 精靈作爲背景圖像
- 8. 使用背景重複背景位置的CSS精靈
- 9. 位置圖像到背景
- 10. 將背景圖像相對於其他背景圖像對齊
- 11. 相當於背景位置的圖像位置
- 12. 定位背景圖像的形式與CSS精靈的元素
- 13. 相對於背景圖像定位圖像
- 14. 相對於靜態背景圖像位置的CSS位置文本
- 15. 設置背景CSS精靈圖像寬度
- 16. 無法爲快速精靈背景設置完美圖像
- 17. 將背景圖像相對於跨設備內容的相同位置粘貼
- 18. 如何在相對佈局背景中設置位圖圖像
- 19. CSS背景圖像位置
- 20. WKInterfaceController背景圖像位置
- 21. 將背景上的位置圖像置於特定位置
- 22. 負面背景位置的CSS精靈不清晰
- 23. 從精靈重複背景
- 24. CSS精靈背景大小
- 25. 如何找到精靈圖像
- 26. 將swf加載到精靈背景
- 27. 任何推薦如何找到精靈圖像上的圖標位置
- 28. 通過一個精靈並保存背景位置
- 29. 使用負值在CSS精靈中使用背景位置
- 30. 使用css3和精靈的多個背景圖像
這被標記爲一個android問題。 – Kevin 2011-02-25 13:50:27