public void addGameObject - защо някой да добавя на DrawingView-то? (което забележи, само по име е View в тази архитектура, и то защото от него ни идва Canvas, иначе хич нямаше да се занимаваме с view-та)
backgroundSound() - ужасно име на метод. В име на метод трябва да имаш действие, глагол.
В activity-то MediaPlayer -а private, другото - не.
PointF getPosition() {
return null;
}
- много лоша идея. По контракт (a.k.a interface или абстрактен метод) ти се задължаваш всеки наследник на
GameObject да има позиция. Да направиш override с null е ужасна идея. Бекгранда си има локация и тя е 0,0.
public Obstacles(Context context) {
}
Половината константи чисълца изхакани в кода на най-различни места, другите като променливи. Неконсистентност.
position.y > -51 - you are kidding me, right?
BackGroundTextures(Bitmap _textures) - the hell?
public void setWidthAndHeight - setDimensions(int w, int h), може би?
PointF position = new PointF(); - след като всеки GameObject има позиция, защо просто не я пазиш в базовия клас, а всеки да си пази позиция? (Тука въобще не говоря, че не е private..)
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
for(GameObject obj : gameObjects){
obj.draw(canvas); // passes through all objects and write them to the canvas
}
invalidate(); // set the change of draw
}
Не. Така правиш асинхронен безкраен цикъл. Това ще продължи да точи CPU и батерия дори след като минимизираш app-а, да не говорим, че вероятно ще се вика и повече от 60 пъти в секунда.
Дъна, не са добре стилово нещата и някои ООП забележки. За съжалание не мога да погледна по-важното, а именно features и какви решения си избрал за проблемите - нямам времето. Напомни ми следващия път като дойдеш.
public void addGameObject- защо някой да добавя на DrawingView-то? (което забележи, само по име е View в тази архитектура, и то защото от него ни идва Canvas, иначе хич нямаше да се занимаваме с view-та)backgroundSound()- ужасно име на метод. В име на метод трябва да имаш действие, глагол.В activity-то
MediaPlayer-а private, другото - не.GameObjectда има позиция. Да направиш override с null е ужасна идея. Бекгранда си има локация и тя е 0,0.Половината константи чисълца изхакани в кода на най-различни места, другите като променливи. Неконсистентност.
position.y > -51- you are kidding me, right?BackGroundTextures(Bitmap _textures)- the hell?public void setWidthAndHeight-setDimensions(int w, int h), може би?PointF position = new PointF();- след като всеки GameObject има позиция, защо просто не я пазиш в базовия клас, а всеки да си пази позиция? (Тука въобще не говоря, че не е private..)Не. Така правиш асинхронен безкраен цикъл. Това ще продължи да точи CPU и батерия дори след като минимизираш app-а, да не говорим, че вероятно ще се вика и повече от 60 пъти в секунда.
Дъна, не са добре стилово нещата и някои ООП забележки. За съжалание не мога да погледна по-важното, а именно features и какви решения си избрал за проблемите - нямам времето. Напомни ми следващия път като дойдеш.