reduction input lag + ajout javadoc
This commit is contained in:
@@ -2,7 +2,6 @@ package com.iutlaval.myapplication;
|
|||||||
|
|
||||||
//N'oubliez pas de déclarer le bon package dans lequel se trouve le fichier !
|
//N'oubliez pas de déclarer le bon package dans lequel se trouve le fichier !
|
||||||
|
|
||||||
import android.app.ActionBar;
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.pm.ActivityInfo;
|
import android.content.pm.ActivityInfo;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
@@ -13,7 +12,6 @@ import android.view.View;
|
|||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
|
|
||||||
import com.iutlaval.myapplication.Game.GameLogicThread;
|
import com.iutlaval.myapplication.Game.GameLogicThread;
|
||||||
import com.iutlaval.myapplication.Video.FpsTime;
|
|
||||||
import com.iutlaval.myapplication.Video.Renderer;
|
import com.iutlaval.myapplication.Video.Renderer;
|
||||||
|
|
||||||
public class GameActivity extends Activity {
|
public class GameActivity extends Activity {
|
||||||
@@ -42,8 +40,6 @@ public class GameActivity extends Activity {
|
|||||||
|
|
||||||
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
|
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
|
||||||
Display display = getWindowManager().getDefaultDisplay();
|
Display display = getWindowManager().getDefaultDisplay();
|
||||||
//permet d'attendre la duré de une image affiché a l'écran
|
|
||||||
FpsTime.init(display);
|
|
||||||
|
|
||||||
String deck = getIntent().getStringExtra("DECK");
|
String deck = getIntent().getStringExtra("DECK");
|
||||||
|
|
||||||
|
|||||||
@@ -57,6 +57,7 @@ public class MainActivity extends AppCompatActivity {
|
|||||||
d.show(getSupportFragmentManager(),"s");
|
d.show(getSupportFragmentManager(),"s");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//permet d'utiliser le bouton handicape et de changer son aparence
|
||||||
private void handicapeButtonHandle(ImageButton handicapeButton)
|
private void handicapeButtonHandle(ImageButton handicapeButton)
|
||||||
{
|
{
|
||||||
if(!disabledMode)
|
if(!disabledMode)
|
||||||
|
|||||||
+6
-1
@@ -13,6 +13,11 @@ public class DrawableSelfRemoving extends Drawable{
|
|||||||
private Drawable drawable;
|
private Drawable drawable;
|
||||||
private long lifespan;
|
private long lifespan;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param drawable drawable a afficher
|
||||||
|
* @param lifespan durée en seconde que le drawable va survivre
|
||||||
|
*/
|
||||||
public DrawableSelfRemoving(Drawable drawable,int lifespan) {
|
public DrawableSelfRemoving(Drawable drawable,int lifespan) {
|
||||||
super(drawable.getX(), drawable.getY(), drawable.getName());
|
super(drawable.getX(), drawable.getY(), drawable.getName());
|
||||||
this.drawable = drawable;
|
this.drawable = drawable;
|
||||||
@@ -21,7 +26,7 @@ public class DrawableSelfRemoving extends Drawable{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void drawOn(@NonNull Canvas c, @NonNull Paint p) {
|
public void drawOn(@NonNull Canvas c, @NonNull Paint p) {
|
||||||
if(lifespan > System.currentTimeMillis())
|
if(!isDone())
|
||||||
{
|
{
|
||||||
drawable.drawOn(c,p);
|
drawable.drawOn(c,p);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,13 +18,14 @@ import java.util.List;
|
|||||||
public class DrawableText extends Drawable{
|
public class DrawableText extends Drawable{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ce constructeur permet de rendre du texte
|
* ce constructeur permet de rendre du texte plus simplement mais il peut causes des bugs a cause de ses aproximaiton
|
||||||
* @param text le texte a rendre
|
* @param text le texte a rendre
|
||||||
* @param x_pos position en x du texte
|
* @param x_pos position en x du texte
|
||||||
* @param y_pos position en y du texte
|
* @param y_pos position en y du texte
|
||||||
* @param name nom du Drawable
|
* @param name nom du Drawable
|
||||||
* @param x_size taille du drawable entre 0 et 100
|
* @param x_size taille du drawable entre 0 et 100
|
||||||
* @param y_size taille du drawable entre 0 et 100
|
* @param y_size taille du drawable entre 0 et 100
|
||||||
|
* @param textSize taille de la police
|
||||||
* @param y_canvasRatio taille du canevas en pixel sur le quel le texte va être dessiné /!\ doit être proportionnel a la police
|
* @param y_canvasRatio taille du canevas en pixel sur le quel le texte va être dessiné /!\ doit être proportionnel a la police
|
||||||
* @param x_canvasRatio voire y_canvasRatio
|
* @param x_canvasRatio voire y_canvasRatio
|
||||||
*/
|
*/
|
||||||
@@ -41,6 +42,7 @@ public class DrawableText extends Drawable{
|
|||||||
* @param name nom du Drawable
|
* @param name nom du Drawable
|
||||||
* @param x_size taille du drawable entre 0 et 100
|
* @param x_size taille du drawable entre 0 et 100
|
||||||
* @param y_size taille du drawable entre 0 et 100
|
* @param y_size taille du drawable entre 0 et 100
|
||||||
|
* @param textSize taille de la police
|
||||||
* @param y_canvasRatio taille du canevas en pixel sur le quel le texte va être dessiné /!\ doit être proportionnel a la police
|
* @param y_canvasRatio taille du canevas en pixel sur le quel le texte va être dessiné /!\ doit être proportionnel a la police
|
||||||
* @param x_canvasRatio voire y_canvasRatio
|
* @param x_canvasRatio voire y_canvasRatio
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,32 +0,0 @@
|
|||||||
package com.iutlaval.myapplication.Video;
|
|
||||||
|
|
||||||
import android.view.Display;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* cette class permet d'attendre le temps qui s'écoule entre 2image a l'écran plutot que sur dessiné et gaspillier la batterie
|
|
||||||
*/
|
|
||||||
public class FpsTime {
|
|
||||||
private static long frametime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* initialise le frame time pour pouvoir utliser le delais
|
|
||||||
* @param d ecran
|
|
||||||
*/
|
|
||||||
public static void init(Display d)
|
|
||||||
{
|
|
||||||
float fps = d.getRefreshRate();
|
|
||||||
frametime = (long)(1.0F/fps*1000);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* atten exactement la durée d'une image a l'ecran a la vitesse optimal de l'ecran
|
|
||||||
* prend en argument un offset qui permet de reduire l'attente si le systeme a pris beaucoup de temps a génerer une image
|
|
||||||
*/
|
|
||||||
public static void waitFrameTime(long time){
|
|
||||||
time = (System.nanoTime()-time)/1000;
|
|
||||||
if(time >= frametime)return;
|
|
||||||
try {
|
|
||||||
Thread.sleep((frametime-time));
|
|
||||||
} catch (InterruptedException e) {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -184,7 +184,6 @@ public class Renderer extends SurfaceView implements SurfaceHolder.Callback {
|
|||||||
|
|
||||||
//empecher d'aller plus vite que le taux de rafraichissement de l'ecran
|
//empecher d'aller plus vite que le taux de rafraichissement de l'ecran
|
||||||
//sauve de la baterie
|
//sauve de la baterie
|
||||||
FpsTime.waitFrameTime(time);
|
|
||||||
while(!needToUpdate)
|
while(!needToUpdate)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user