Сквозь бесконечный фон прокрутки с холстом?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Сквозь бесконечный фон прокрутки с холстом?

Сообщение Anonymous »

У меня есть фоновое изображение, и я хочу, чтобы оно медленно двигалось вправо, и когда изображение достигнет правого конца экрана с концом левой начальной стороны изображения, изображение должно запустить Снова показывая начало правой стороны, в виде бесконечной горизонтальной прокрутки. Пробовал его, чертающееся в два раза больше растрового карты с холстом ... но он не гладкий, он очень жуткий с прыжками и не оптимизирован: < /p>
universeBitmap = Bitmap.createScaledBitmap(universeBitmap, sw, sh, false);

universeView = new View(this){

@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);

if (paused==true){
canvas.drawBitmap(universeBitmap, universeX, 0, null);
return;
}
long currentTime=System.currentTimeMillis();
if ((currentTime-lastdrawTime)>100){
if (universeX>sw){
universeX=0;
}
lastdrawTime=currentTime;
universeX+=1;
}
canvas.drawBitmap(universeBitmap, universeX, 0, null);
canvas.drawBitmap(universeBitmap, universeX-sw, 0, null);
invalidate();
}
};
< /code>
Я также попробовал, не признав просмотра каждые 100 мс, но с потоком и обработчиком, и тем же результатом .... жуткое не плавное движение: < /p>
universeBitmap = Bitmap.createScaledBitmap(universeBitmap, sw, sh, false);

universeView = new View(this){

@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawBitmap(universeBitmap, universeX, 0, null);
canvas.drawBitmap(universeBitmap, universeX-sw, 0, null);
}
};
.
.
.
Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
if (universeX>sw){
universeX=0;
}
universeView.invalidate();
universeX+=1;
}
};

.
.
.

public void run() {
try {
while( !backgroundThread.interrupted() ) {
synchronized(this){
handler.sendEmptyMessage(0);
wait(100);
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/281 ... ith-canvas
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»