1.12.2013 / 07:32 | |
samodelkin Пользователь Сейчас: Offline
Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
| Помогите исправить, картинка не двигается:
import android.content.Context; import android.content.res.Resources; import android.view.View; import android.graphics.*; import android.os.Handler;
public class Canva extends View{ private int y; private Bitmap bitmap; private Handler handler; private Thread thread;
public Canva(Context context) { super(context); y=0; bitmap = BitmapFactory.decodeResource(this.getResources(), R.drawable.ic_launcher); handler= new Handler() { public void handleMessage(android.os.Message msg) { invalidate(); } };
thread=new Thread(new Runnable() { public void run() { try { y++; thread.sleep(1000); handler.sendEmptyMessage(1); } catch (Exception e) {} } }); thread.start();
} protected void onDraw(Canvas canvas){ super.onDraw(canvas); Paint paint = new Paint(); paint.setStyle(Paint.Style.FILL); // закрашиваем холст белым цветом paint.setColor(Color.BLACK); canvas.drawPaint(paint); paint.setColor(Color.WHITE); canvas.drawBitmap(bitmap, 0, y, paint); }
}
Изменено samodelkin (1.12 / 07:34) (всего 1 раз) |
1.12.2013 / 08:00 | |
samodelkin Пользователь Сейчас: Offline
Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
| прошу вас помогите быстрее, иначе я сойду с ума, уже два дня не могу двигающуюся картинку сделать!!! .... Разобрался с проблемой без использования Хандлера, сделал класс Руннабельным, добавил свой метод рун, и вызвал метод postInvalidate()
Изменено samodelkin (1.12 / 08:04) (всего 1 раз) |
1.12.2013 / 08:07 | |
samodelkin Пользователь Сейчас: Offline
Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
| Вот код если кому интересно:
import android.content.Context; import android.content.res.Resources; import android.view.View; import android.graphics.*; import android.os.*;
public class Canva extends View implements Runnable{ private int y; private Bitmap bitmap; private Thread thread; private Handler h;
public Canva(Context context) { super(context); y=0; bitmap = BitmapFactory.decodeResource(this.getResources(), R.drawable.ic_launcher); thread=new Thread(this); thread.start(); } public void run(){ while(true){ y++; if (y>getHeight()-bitmap.getHeight()) y=0; this.postInvalidate(); try{thread.sleep(10);}catch(Exception e){} } } protected void onDraw(Canvas canvas){ super.onDraw(canvas); Paint paint = new Paint(); paint.setStyle(Paint.Style.FILL); // закрашиваем холст белым цветом paint.setColor(Color.BLACK); canvas.drawPaint(paint); paint.setColor(Color.WHITE); canvas.drawBitmap(bitmap, 0, (float)y, paint); }
}
|
1.12.2013 / 09:04 | |
boNNdaR Пользователь Сейчас: Offline
Имя: Рома Откуда: місто Львів Регистрация: 01.12.2010
| Для таких действий лутше использовать SurfaceView, посмотри в полезных кодах, я кидал когда-то.
|
1.12.2013 / 18:06 | |
samodelkin Пользователь Сейчас: Offline
Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
| Скажите как в классе, наследованном от View сделать обработку удерживания пальца на сенсоре, а то использую onTouch, который срабатывает только один раз.
|
1.12.2013 / 19:57 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| samodelkin, засекать время например, между ACTION_DOWN и ACTION_UP в onTouch. Есть еще view.setOnLongClickListener(...) Можешь попробоват если это твой кастомный View, то можешь переопределить onTouchEvent(...)
Изменено Naik (1.12 / 20:00) (всего 1 раз) |
2.12.2013 / 10:23 | |
samodelkin Пользователь Сейчас: Offline
Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
| Naik, спасибо. Скажите от какого класса лучше всего наследовать класс спрайта(имею ввиду чтобы были столкновения, кадры и т.д)?
|
2.12.2013 / 10:26 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| samodelkin, Ни от какого. Заводишь переменную Bitmap в классе Спрайт и делаешь с ней все что нужно
|
2.12.2013 / 10:28 | |
samodelkin Пользователь Сейчас: Offline
Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
| Naik, сделал уже А как организовать в классе кадры и как прорисовывать определенный кадр с помощью drawBitmap? Изменено samodelkin (2.12 / 10:28) (всего 1 раз) |
2.12.2013 / 10:34 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| |