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 !
|
||||
|
||||
import android.app.ActionBar;
|
||||
import android.app.Activity;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.os.Build;
|
||||
@@ -13,7 +12,6 @@ import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import com.iutlaval.myapplication.Game.GameLogicThread;
|
||||
import com.iutlaval.myapplication.Video.FpsTime;
|
||||
import com.iutlaval.myapplication.Video.Renderer;
|
||||
|
||||
public class GameActivity extends Activity {
|
||||
@@ -42,8 +40,6 @@ public class GameActivity extends Activity {
|
||||
|
||||
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
|
||||
Display display = getWindowManager().getDefaultDisplay();
|
||||
//permet d'attendre la duré de une image affiché a l'écran
|
||||
FpsTime.init(display);
|
||||
|
||||
String deck = getIntent().getStringExtra("DECK");
|
||||
|
||||
|
||||
@@ -57,6 +57,7 @@ public class MainActivity extends AppCompatActivity {
|
||||
d.show(getSupportFragmentManager(),"s");
|
||||
}
|
||||
|
||||
//permet d'utiliser le bouton handicape et de changer son aparence
|
||||
private void handicapeButtonHandle(ImageButton handicapeButton)
|
||||
{
|
||||
if(!disabledMode)
|
||||
|
||||
+6
-1
@@ -13,6 +13,11 @@ public class DrawableSelfRemoving extends Drawable{
|
||||
private Drawable drawable;
|
||||
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) {
|
||||
super(drawable.getX(), drawable.getY(), drawable.getName());
|
||||
this.drawable = drawable;
|
||||
@@ -21,7 +26,7 @@ public class DrawableSelfRemoving extends Drawable{
|
||||
|
||||
@Override
|
||||
public void drawOn(@NonNull Canvas c, @NonNull Paint p) {
|
||||
if(lifespan > System.currentTimeMillis())
|
||||
if(!isDone())
|
||||
{
|
||||
drawable.drawOn(c,p);
|
||||
}
|
||||
|
||||
@@ -18,13 +18,14 @@ import java.util.List;
|
||||
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 x_pos position en x du texte
|
||||
* @param y_pos position en y du texte
|
||||
* @param name nom du Drawable
|
||||
* @param x_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 x_canvasRatio voire y_canvasRatio
|
||||
*/
|
||||
@@ -41,6 +42,7 @@ public class DrawableText extends Drawable{
|
||||
* @param name nom du Drawable
|
||||
* @param x_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 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
|
||||
//sauve de la baterie
|
||||
FpsTime.waitFrameTime(time);
|
||||
while(!needToUpdate)
|
||||
{
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user