简体   繁体   English

我无法在某些设备上启动我的Android应用

[英]I can't launch my Android app on some devices

I made easy Android game and I tested the game on my devices (Samsung Core Prime with Android 5.1.1 - there wasn't any problems with launch and Samsung J5 with Android 6.0 - there was some problems, but I solved it with adding: android:largeHeap="true" in my Manifest. 我制作了简单的Android游戏,并在设备上测试了该游戏(带有Android 5.1.1的Samsung Core Prime-启动没有问题,而带有Android 6.0的Samsung J5-则存在一些问题,但是我通过添加以下内容解决了该问题:我的清单中的android:largeHeap =“ true”

But when I sent the game to other devices (with the same Android version), the game wasn't launched. 但是,当我将游戏发送到其他设备(具有相同的Android版本)时,游戏没有启动。

It is my Manifest: 这是我的清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.thebirdwithclipedwings"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="16"
        android:targetSdkVersion="25" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme"
        android:hardwareAccelerated="false"
        android:largeHeap="true" >

        <activity 
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter android:label="@string/launcher_name">
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

Yes, that's true, the application crashed. 是的,没错,应用程序崩溃了。 Before adding: android:largeHeap="true", I had this error: 在添加之前:android:largeHeap =“ true”,我遇到了这个错误:

FATAL EXCEPTION: main 04-30 23:32:00.379: E/AndroidRuntime(3547): Process: 
com.example.thebirdwithclipedwings, PID: 3547 04-30 23:32:00.379: 
E/AndroidRuntime(3547): java.lang.OutOfMemoryError: Failed to allocate a 
7837520 byte allocation with 3789816 free bytes and 3MB until OOM 04-30 
23:32:00.379: E/AndroidRuntime(3547):   
at dalvik.system.VMRuntime.newNonMovableArray(Native Method) 04-30 
23:32:00.379: E/AndroidRuntime(3547):   
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 04-30 
23:32:00.379: E/AndroidRuntime(3547):   
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:856) 04-30 
23:32:00.379: E/AndroidRuntime(3547):   
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:675) 04-
30 23:32:00.379: E/AndroidRuntime(3547):    
at android.graphics.BitmapFactory.decodeResource(BitmapFactory.java:703) 04-
30 23:32:00.379: E/AndroidRuntime(3547):    
at android.graphics.BitmapFactory.decodeResource(BitmapFactory.java:733) 04-
30 23:32:00.379: E/AndroidRuntime(3547):    
at com.example.thebirdwithclipedwings.Pohyb.<init>(Pohyb.java:204) 04-30 
23:32:00.379: E/AndroidRuntime(3547):   
at com.example.thebirdwithclipedwings.MainActivity.onCreate(MainActivity.java:32) 
04-30 23:32:00.379: E/AndroidRuntime(3547):     
at android.app.Activity.performCreate(Activity.java:6877) 04-30 
23:32:00.379: E/AndroidRuntime(3547):   
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136) 04-
30 23:32:00.379: E/AndroidRuntime(3547):    
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3209) 04-30 
23:32:00.379: E/AndroidRuntime(3547):   
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3352) 
04-30 23:32:00.379: E/AndroidRuntime(3547):     
at android.app.ActivityThread.access$1100(ActivityThread.java:223) 04-30 
23:32:00.379: E/AndroidRuntime(3547):   
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1797) 04-

I play some music (with mediaPlayer.start() ) before the game loop and although the game crashed, the music plays. 我在游戏循环之前播放了一些音乐(使用mediaPlayer.start() ),尽管游戏崩溃了,但仍在播放音乐。

Do you have any idea? 你有什么主意吗? Thanks! 谢谢!

It's quite long and amateurish code: 这是很长的业余代码:

@SuppressLint("WrongCall")
public class Pohyb extends SurfaceView{
    private Bitmap hrac, svet, klip, klip2, klip3, klip4, player, mrak, rak, ak, k, s,nuzky, nuzkyb, star, kamen, rock, scissors;
    private Bitmap nu, nu2, nu3, nu4, nu5, nu6, nu7, nu8, nu9, nu10, nu11, nu12, nu13, nu14, nu15, nu16, nu17, nu18, nu19;
    private Bitmap nuze1, nuze2, nuze3, nuze4, nuze5;
    private Bitmap muc1, muc2, muc3, muc4, muc5, muc6, muc7, muc8, muc9;
    private SurfaceHolder holder;
    private Vlakno v; 

    private SoundPool zvuky;
    private int zvukM;
    private int msprite = 6;

    MediaPlayer mediaPlayer;

    int svetXSize, svetYSize;
    private int xSpeed = 1, ySpeed = 1, zSpeed = 0; 
    private int xKoeficient = 3;
    private int xSize = 180 ,ySize = (int) (xKoeficient*xSize);
    private int realXSize = xSize, realYSize = ySize;
    private int citacX, citacY;
    private int x = 100;
    private int y = 100;
    private int start = 0;
    private int cisloHrace = 1;
    Random r = new Random(); 
    private int xMrak = 100;
    private int xRak = 200;
    private int xAk = 300;
    private int xK = 400;
    private int rychlost;
    private float rKoeficient = 6;
    private int biggest, smallest;
    private int p, l;
    private int yStart;
    public boolean hra = false;
    public boolean akce = false;
    public boolean O = false;
    private boolean promnenne = true;
    private boolean ohajo = false;
    private boolean ohajo2 = true;
    private boolean strih = false;
    private boolean strihKontrola;
    private boolean dotykKamene = false;
    private boolean limbus;
    private boolean akt;
    private boolean zobrazeniNuzek;
    private boolean rovnaSeDve;
    private boolean Klara;
    private boolean prepinacNuzek;
    private boolean zakaz;
    private boolean zivyMrtvy;
    private boolean playOrDie;
    private boolean napis;
    private boolean potvrzeniStrihu;
    private float dX, dY;
    private float deltaX, deltaY;
    private int xz, yz;
    private int kasa;
    private int xStar, yStar;
    private int dieKatzeStitzi;
    private int rollingStones;
    private float vyska = 543;
    private int ptakuvStredX;
    private int ptakuvStredY;
    private int rockY;
    private int scissorsY;
    private int napisPocet;
    private int konecneKonec;
    private String pad = "STONES:";






    public Pohyb(Context context) {
          super(context);

          v = new Vlakno(this);
          holder = getHolder();
          holder.addCallback(new SurfaceHolder.Callback() {

                 @Override
                 public void surfaceDestroyed(SurfaceHolder holder) {
                     boolean konekt = true;
                     v.setRunning(false);

                     while (konekt){
                         try{
                             v.join();

                             konekt = false;
                         } catch (InterruptedException e) {

                         }
                     }
                 }



                 @Override
                 public void surfaceCreated(SurfaceHolder holder) {
                     v.setRunning(true);
                     v.start();

                 }

                 @Override
                 public void surfaceChanged(SurfaceHolder holder, int format,
                               int width, int height) {
                 }


          }
          )
          ;



          mediaPlayer = MediaPlayer.create(context, R.raw.ptacek_audio_format_01);
          mediaPlayer.start();
          mediaPlayer.setLooping(true);

          svet = BitmapFactory.decodeResource(getResources(), R.drawable.pozadi_01_960_540);
          player = BitmapFactory.decodeResource(getResources(), R.drawable.ptak_02);
          klip2 = BitmapFactory.decodeResource(getResources(), R.drawable.klip_02);
          klip3 = BitmapFactory.decodeResource(getResources(), R.drawable.klip_03);
          klip4 = BitmapFactory.decodeResource(getResources(), R.drawable.klip_04);
          s = BitmapFactory.decodeResource(getResources(), R.drawable.an_strih_01);
          star = BitmapFactory.decodeResource(getResources(), R.drawable.nuze_01);
          nu = BitmapFactory.decodeResource(getResources(), R.drawable.nuze_01);
          nu2 = BitmapFactory.decodeResource(getResources(), R.drawable.nuze_02);
          nu3 = BitmapFactory.decodeResource(getResources(), R.drawable.nuze_03);
          nu4 = BitmapFactory.decodeResource(getResources(), R.drawable.nuze_04);
          nu5 = BitmapFactory.decodeResource(getResources(), R.drawable.nuze_05);
          nu6 = BitmapFactory.decodeResource(getResources(), R.drawable.nuze_06);
          nu7 = BitmapFactory.decodeResource(getResources(), R.drawable.nuze_07);
          nu8 = BitmapFactory.decodeResource(getResources(), R.drawable.nuze_08);
          nu9 = BitmapFactory.decodeResource(getResources(), R.drawable.nuze_09);
          nu10 = BitmapFactory.decodeResource(getResources(), R.drawable.nuze_10);
          nu11= BitmapFactory.decodeResource(getResources(), R.drawable.nuze_11);
          nu12 = BitmapFactory.decodeResource(getResources(), R.drawable.nuze_12);
          nu13 = BitmapFactory.decodeResource(getResources(), R.drawable.nuze_13);
          nu14 = BitmapFactory.decodeResource(getResources(), R.drawable.nuze_14);
          nu15 = BitmapFactory.decodeResource(getResources(), R.drawable.nuze_15);
          nu16 = BitmapFactory.decodeResource(getResources(), R.drawable.nuze_16);
          nu17 = BitmapFactory.decodeResource(getResources(), R.drawable.nuze_17);
          nu18 = BitmapFactory.decodeResource(getResources(), R.drawable.nuze_18);
          nu19 = BitmapFactory.decodeResource(getResources(), R.drawable.nuze_19);
          nu19 = BitmapFactory.decodeResource(getResources(), R.drawable.nuze_19);
          nuze1 = BitmapFactory.decodeResource(getResources(), R.drawable.nuzky_01);
          nuze2 = BitmapFactory.decodeResource(getResources(), R.drawable.nuzky_02);
          nuze3 = BitmapFactory.decodeResource(getResources(), R.drawable.nuzky_03);
          nuze4 = BitmapFactory.decodeResource(getResources(), R.drawable.nuzky_04);
          nuze5 = BitmapFactory.decodeResource(getResources(), R.drawable.nuzky_05);
          muc1 = BitmapFactory.decodeResource(getResources(), R.drawable.a_01);
          muc2 = BitmapFactory.decodeResource(getResources(), R.drawable.a_02);
          muc3 = BitmapFactory.decodeResource(getResources(), R.drawable.a_03);
          muc4 = BitmapFactory.decodeResource(getResources(), R.drawable.a_04);
          muc5 = BitmapFactory.decodeResource(getResources(), R.drawable.a_05);
          muc6 = BitmapFactory.decodeResource(getResources(), R.drawable.a_06);
          muc7 = BitmapFactory.decodeResource(getResources(), R.drawable.a_07);
          muc8 = BitmapFactory.decodeResource(getResources(), R.drawable.a_08);
          muc9 = BitmapFactory.decodeResource(getResources(), R.drawable.a_09);


          scissors = BitmapFactory.decodeResource(getResources(), R.drawable.kopie_01);
          rock = BitmapFactory.decodeResource(getResources(), R.drawable.kamen_01);

          hrac = player;

          mediaPlayer = MediaPlayer.create(context, R.raw.ptacek_audio_format_01);
          mediaPlayer.start();
          mediaPlayer.setLooping(true);


          klip = BitmapFactory.decodeResource(getResources(), R.drawable.klip_01);
    }




    Nuzky n = new Nuzky();

    Paint paint = new Paint();
    DecimalFormat zaokrouhli = new DecimalFormat("#.####");


    Kamen kam = new Kamen();

    Mrak m = new Mrak();
    Mrak m2 = new Mrak();
    Mrak m3 = new Mrak();
    Mrak m4 = new Mrak();



/////////////////////////////////////////////////////////////
    @SuppressLint("DrawAll ocation")
    @Override
    protected void onDraw(Canvas canvas) {


        canvas.drawBitmap(svet, 0, 0, null);


        mrak = BitmapFactory.decodeResource(getResources(), R.drawable.mrak_01);
        rak = mrak;
        ak = mrak;
        k = mrak;


        nuzky = BitmapFactory.decodeResource(getResources(), R.drawable.nuzky_01);

        kamen = BitmapFactory.decodeResource(getResources(), R.drawable.kamen_01);

        prom();


        if(O == true){




            hrac = klip;
            //setVse();
            rKoeficient =(float) (((int)(realXSize - xSize) * 0.2) + 3);
            rKoeficient += 0.01;
            vyska = (float) (vyska - (0.01 * (rKoeficient*rKoeficient)));
            //vyska = (int)(vyska);
            Log.v("abc", 0.01 * rKoeficient +"");
            nacitac(akce);
            deltaX =((dX - (xSize/2)) - (x ));
            deltaY =((dY - ((3*xSize)/2)) - (y));
            forllover();

            if(hra == true){




            }else if(hra == false){





            }
            dotykNuzek();

            n.velikost((int)rKoeficient, limbus, strih, rovnaSeDve);
            rovnaSeDve = n.rsd;
            kam.velikost((int)rKoeficient);
            m.rozmery((int)rKoeficient);
            m.vetsimensi(); 
            m2.rozmery((int)rKoeficient);
            m2.vetsimensi();
            m3.rozmery((int)rKoeficient);
            m3.vetsimensi();
            m4.rozmery((int)rKoeficient);
            m4.vetsimensi();


            dotykKamene();
            nuzkyAnim();
            //strihani();


            mrak = Bitmap.createScaledBitmap(mrak, m.size, m.size, true);
            rak = Bitmap.createScaledBitmap(rak, m2.size, m2.size, true);
            ak = Bitmap.createScaledBitmap(ak, m3.size, m3.size, true); 
            k =Bitmap.createScaledBitmap(k, m4.size, m4.size, true);


            nuzky = Bitmap.createScaledBitmap(nuzky,n.size, n.size,true);

            kamen = Bitmap.createScaledBitmap(kamen,kam.size, kam.size,true);


            canvas.drawBitmap(mrak, m.x, m.y, null);
            canvas.drawBitmap(rak, m2.x, m2.y, null);
            canvas.drawBitmap(ak, m3.x, m3.y, null);
            canvas.drawBitmap(k, m4.x, m4.y, null);
            canvas.drawBitmap(nuzky, n.x, n.y, null);

            if(dotykKamene == false){
                canvas.drawBitmap(kamen, kam.x, kam.y, null);
            }else if(dotykKamene == true){
                if(kam.size == 2){
                    dotykKamene = false;
                }



            }


            canvas.save();
            canvas.rotate(-90, 30 , svetYSize);
            paint.setTextSize(40);
            paint.setTypeface(Typeface.create("Arial",Typeface.BOLD));
            paint.setColor(Color.RED);
            canvas.drawText(pad + " " + (rollingStones + "")  , 30, svetYSize, paint);
            canvas.restore();

            canvas.save();
            canvas.rotate(-90, 60 , svetYSize);
            paint.setTextSize(40);
            paint.setTypeface(Typeface.create("Arial",Typeface.ITALIC));
            paint.setColor(Color.RED);
            canvas.drawText(( Math.round(vyska) + "") + "m", 60, svetYSize, paint);
            canvas.restore();



        }else if(O == false){

        }

         hrac = Bitmap.createScaledBitmap(hrac, xSize, ySize, true);
         canvas.drawBitmap(hrac, x, y, null);   


        if(zobrazeniNuzek == true){

            if(scissorsY > svetYSize - (int)(realYSize/1.8)){
                scissorsY -= 5;
            }else{
                canvas.save();
                canvas.rotate(-90,   x - realXSize/2, svetYSize - (int)(realYSize/1.8) +  (int)(scissors.getHeight() * 0.8));
                paint.setTextSize(60);
                paint.setTypeface(Typeface.create("Arial",Typeface.BOLD));
                paint.setColor(Color.BLACK);
                canvas.drawText("SCISSORS", x - realXSize/2, svetYSize - (int)(realYSize/1.8) + (int)(scissors.getHeight() * 0.8), paint);
                if(Klara == false && prepinacNuzek == true){
                    try {
                        TimeUnit.SECONDS.sleep(2);
                    } catch (InterruptedException e) {
                        // TODO Auto-generated catch block                                                      
                        e.printStackTrace();
                    }
                    Klara = true;

                }

                prepinacNuzek = true;
                canvas.restore();
            }

            if(rockY < 10){
                rockY += 5;
            }else{
                canvas.save();
                canvas.rotate(-90, x + svetXSize/5 - x/4 , rock.getHeight() + 10);
                paint.setTextSize(60);
                paint.setTypeface(Typeface.create("Arial",Typeface.BOLD));
                paint.setColor(Color.BLACK);
                canvas.drawText("ROCK",  x + svetXSize/5 - x/4, rock.getHeight() + 10, paint);  
                canvas.restore();
            }

            canvas.drawBitmap(scissors, x - realXSize/2, scissorsY, null);
            canvas.drawBitmap(rock, x + svetXSize/5,  rockY, null);


            ptakuvStredX = svetXSize/2 ;
            ptakuvStredY = svetYSize/2 ;

            dX = ptakuvStredX+(xSize/4);
            dY = ptakuvStredY;

            deltaX =((dX - (xSize/2)) - (x ));
            deltaY =((dY - ((3*xSize)/2)) - (y));

            forllover();
            rollingStones = 0;



            canvas.save();
            canvas.rotate(-90, x - x/4 , y + (int)(ySize * 0.6));
            paint.setTextSize(60);
            paint.setColor(Color.BLACK);
            paint.setTypeface(Typeface.create("Arial",Typeface.BOLD));
            if(xz == 0 && yz == 0){
            canvas.drawText("PAPER", x - x/4, y +(int)(ySize * 0.6), paint);
            }
            canvas.restore();

            if(Klara == true){
                canvas.save();
                canvas.rotate(-90,  100, 200);                      // trim
                paint.setTextSize(120);
                paint.setColor(Color.BLACK);
                paint.setTypeface(Typeface.create("Arial",Typeface.BOLD));
                canvas.drawText("GO", 100, 200, paint);
                zakaz = false;
                canvas.restore();
            }


        }


        if(ohajo2 == true){
            star = Bitmap.createScaledBitmap(star, (int)(1.5*svetXSize), (int) (1.5*svetXSize), true);
            carodejnice();
            canvas.drawBitmap(star,(int)(svetXSize*-0.25), yStart, null);
        }else if(ohajo2 == false && limbus == false){
            if(yStart< svetYSize){
                yStart += 10;
                promeny();
                canvas.drawBitmap(star,(int)(svetXSize*-0.25), yStart, null);

            }



        }



        if(playOrDie == true){
            playOrDie();
        }   

        if(vyska <= 0){
            canvas.drawColor(Color.argb(255, 0, 0, 0));

            konecneKonec += 1;

            if(konecneKonec > 30 && konecneKonec < 60 ){
                paint.setARGB(200, 254, 0, 0);
                paint.setTextAlign(Align.CENTER);
                paint.setTextSize(80);
                canvas.rotate(-90, canvas.getWidth()/2, canvas.getHeight()/2 );
                canvas.drawText("2", canvas.getWidth()/2, canvas.getHeight()/2, paint);
            }else if(konecneKonec > 60 && konecneKonec < 100){
                paint.setARGB(200, 254, 0, 0);
                paint.setTextAlign(Align.CENTER);
                paint.setTextSize(80);
                canvas.rotate(-90, canvas.getWidth()/2, canvas.getHeight()/2 );
                canvas.drawText("1", canvas.getWidth()/2, canvas.getHeight()/2, paint);
            }else if(konecneKonec > 100 && konecneKonec < 200){
                paint.setARGB(200, 254, 0, 0);
                paint.setTextAlign(Align.CENTER);
                paint.setTextSize(80);
                canvas.rotate(-90, canvas.getWidth()/2, canvas.getHeight()/2 );
                canvas.drawText("TO BE CONTINUED", canvas.getWidth()/2, canvas.getHeight()/2, paint);
            }else if(konecneKonec == 250){
                android.os.Process.killProcess(android.os.Process.myPid());
            }
        }

  /////////////////////////////////////////////////////////////       ///////////////////////////////////////////////////////////////////////// 
    }
    public boolean onTouchEvent(MotionEvent dej){

        switch(dej.getAction()){
        case MotionEvent.ACTION_DOWN:

            dX = (dej.getX());
            dY = (dej.getY());


            ohajo = true;

            hra = true;

            if(hra == false){

            }else if(hra == true){

            }

            if(O == true){
                akce = true;
            }

            return true;
        }
        switch(dej.getAction()){
        case MotionEvent.ACTION_UP:
            hra = false;
            akce = false;
            carodejnice();


            if(limbus == true && zakaz != true){
                rockY = - rock.getHeight();
                scissorsY = svetYSize;
                prepinacNuzek = false;
                Klara = false;

                nahoda(rollingStones, n.pocetStrihu);
                playOrDie = true;
                //O = true;
                //zobrazeniNuzek = false;
                //limbus = false;
            }

            return true;
        }
        invalidate();
        return true;

    }
    public void nacitac(boolean upAndDown){
        if(upAndDown == true && xSize > smallest){
            xSize -= 2;
            ySize -= 3 * 2;
            x += 1;
            y += 3;
            }else if(upAndDown == false && xSize < biggest){
                xSize += 2;
                ySize += 3 * 2;
                x -= 1;
                y -= 3;

            }


        }

    public void promeny(){
        start += 1;
        if(start > 20){
            start = 0;
        }

        if(start == 5){
            hrac = klip;
        }else if(start == 10){
            hrac = klip2;
        }else if(start == 15){
            hrac = klip3;
        }else if(start == 20){
            hrac = klip4;
        }
    }


    public void forllover(){
        xz = (int) ((deltaX/120) * rKoeficient);
        yz = (int) ((deltaY/200) * rKoeficient);
        x += xz;
        y += yz;



    }


    public void prom(){
        if(promnenne == true){
            svetXSize = getWidth();
            svetYSize = getHeight();
            xSize = svetXSize/8 * 3;
            ySize = (int) (xKoeficient*xSize);
            realXSize = xSize;
            realYSize = ySize;
            x = svetXSize/2 - (xSize/2);
            y = svetYSize/2 - (ySize/2);
            p = svetXSize/2;
            l = svetYSize/2;
            yStart = (int)(svetYSize/3);
            xMrak = (svetXSize/4) - (svetXSize/8);

            xRak = 2*(svetXSize/4) - (svetXSize/8);

            xAk = 3*(svetXSize/4) - (svetXSize/8);

            xK = 4*(svetXSize/4) - (svetXSize/8) ;

            ptakuvStredX = svetXSize/2 - xSize/2;
            ptakuvStredY = svetYSize/2 - ySize/2;

            smallest = (svetXSize/6) ;
            biggest = svetXSize/8 * 3;

            rock =Bitmap.createScaledBitmap(rock, realXSize, realXSize, true);
            scissors = k =Bitmap.createScaledBitmap(scissors,2*realXSize, 2*realXSize, true);

            potvrzeniStrihu = false;

            rockY = - rock.getHeight();
            scissorsY = svetYSize;


            n.getit(svetXSize, svetYSize);
            m.zisk(svetXSize, svetYSize);
            m2.zisk(svetXSize, svetYSize);
            m3.zisk(svetXSize, svetYSize);
            m4.zisk(svetXSize, svetYSize);
            kam.getit(svetXSize, svetYSize);






            promnenne = false;




        }
    }

    public void carodejnice(){
        if(ohajo == true && ohajo2 == true ){
        kasa +=1;
        switch(kasa){
        case 1: star = nu;
        star = Bitmap.createScaledBitmap(star, (int)(1.5*svetXSize), (int) (1.5*svetXSize), true);
                break;
        case 2: star = nu3;
        star = Bitmap.createScaledBitmap(star, (int)(1.5*svetXSize), (int) (1.5*svetXSize), true);
                break;
        case 3: star = nu15;
        star = Bitmap.createScaledBitmap(star, (int)(1.5*svetXSize), (int) (1.5*svetXSize), true);
        hrac = klip;
        promeny();
                break;
        case 4: star = nu9;
        star = Bitmap.createScaledBitmap(star, (int)(1.5*svetXSize), (int) (1.5*svetXSize), true);
        hrac = klip2;
                break;
        case 5: star = nu14;
        star = Bitmap.createScaledBitmap(star, (int)(1.5*svetXSize), (int) (1.5*svetXSize), true);
        hrac = klip3;
                break;
        case 6: star = nu19;
        star = Bitmap.createScaledBitmap(star, (int)(1.5*svetXSize), (int) (1.5*svetXSize), true);
        hrac = klip4;
                break;
        case 7: star = nu7;
        star = Bitmap.createScaledBitmap(star, (int)(1.5*svetXSize), (int) (1.5*svetXSize), true);
                break;
        case 8: star = nu6;
        star = Bitmap.createScaledBitmap(star, (int)(1.5*svetXSize), (int) (1.5*svetXSize), true);
        hrac = klip2;
                break;
        case 9: star = nu5;
        star = Bitmap.createScaledBitmap(star, (int)(1.5*svetXSize), (int) (1.5*svetXSize), true);
        hrac = klip3;
                break;
        case 10: star = nu4;
        star = Bitmap.createScaledBitmap(star, (int)(1.5*svetXSize), (int) (1.5*svetXSize), true);
        hrac = klip4;
                break;
        case 11: star = nu3;
        star = Bitmap.createScaledBitmap(star, (int)(1.5*svetXSize), (int) (1.5*svetXSize), true);
        hrac = klip2;
                break;
        case 12: star = nu2;
        star = Bitmap.createScaledBitmap(star, (int)(1.5*svetXSize), (int) (1.5*svetXSize), true);
        hrac = klip3;
                break;
        case 13: star = nu;
        star = Bitmap.createScaledBitmap(star, (int)(1.5*svetXSize), (int) (1.5*svetXSize), true);
                hrac = klip;
                kasa = 0;
                O = true;
                ohajo = false;
                ohajo2 = false;
                break;


        }

        }
    }

    public void nuzkyAnim(){

        if(n.size == 2){
            strihKontrola = false;
        }


        if(n.size > 4*xSize && strihKontrola == false){
            strih = true;
            strihKontrola = true;
        }



        if(strih == true){

            dieKatzeStitzi += 1;

            switch(dieKatzeStitzi){

            case 1: nuzky = nuze1;
                break;
            case 2: nuzky = nuze2;
                break;
            case 3: nuzky = nuze3;
                break;
            case 4: nuzky = nuze4;

                break;
            case 5: nuzky = nuze5;
                    strihani();
                break;
            case 6: nuzky = nuze4;
                break;
            case 7: nuzky = nuze3;

                break;
            case 8: nuzky = nuze2;
                break;
            case 9: nuzky = nuze1;
                    strih = false;
                    dieKatzeStitzi = 0;
                    rovnaSeDve = true; 
                    potvrzeniStrihu = true;
                break;

            }


        }

    }

    public void dotykNuzek(){
        int vrsekN = n.y + (int)(0.2 * n.size);
        int spodekN = n.y + (int)(0.8 * n.size);
        int pravoN = n.x + (int)(n.size * 0.25);
        int levoN = n.x + (int)(n.size * 0.75);

        int yT = y + (int)(ySize * 0.2);
        int yD = y + (int)(ySize * 0.8);





        if((x) > pravoN && (x) < levoN && yT > vrsekN && yT < spodekN ){
            limbus = true;
        }
        if((x+xSize) > pravoN && (x+xSize) < levoN && yT > vrsekN && yT < spodekN ){
            limbus = true;
        }
        if((x) > pravoN && (x) < levoN && yD > vrsekN && yD < spodekN ){
            limbus = true;
        }
        if((x+xSize) > pravoN && (x+xSize) < levoN && yD > vrsekN && yD < spodekN ){
            limbus = true;
        }
    }


    public void dotykKamene(){
        if(x > kam.x && x < (kam.x + kam.size) && (y + (ySize/2)) > kam.y && (y + (ySize/2)) < (kam.y + kam.size) ){
            if(dotykKamene == false){
                rollingStones += 1;
                dotykKamene = true;
            }
    }
    }

    public void strihani(){
        if(limbus == true){
            zakaz = true;
            zobrazeniNuzek = true;
            n.size = 2;
            strihKontrola = false;
            O = false;
            potvrzeniStrihu = false;



        }

    }




    public void nahoda(int kameny, int nuzky){
        Random ran = new Random();

        if(kameny >= nuzky/2){
            zivyMrtvy = true;
        }else{
            zivyMrtvy = false;
        }



    }

    public void playOrDie(){
        if(zivyMrtvy == true){
            n.pocetStrihu = 0;
            O = true;
            zobrazeniNuzek = false;
            limbus = false;
            playOrDie = false;

        }else if(zivyMrtvy == false){

                zobrazeniNuzek = false;
                napisPocet += 2;

                switch(napisPocet){
                case 10: hrac = muc1;
                        break;
                case 20: hrac = muc2;
                        break;
                case 30: hrac = muc3;
                        break;
                case 40: hrac = muc4;
                        break;
                case 50: hrac = muc5;
                    break;
                case 60: hrac = muc6;
                    break;
                case 70: hrac = muc7;
                    break;
                case 80: hrac = muc8;
                    break;
                case 90: hrac = muc9;
                        napis = false;
                    break;
                case 180: n.pocetStrihu = 0;
                        prom();
                        hra = false;
                        akce = false;
                        O = false;
                        promnenne = true;
                        ohajo = false;
                        ohajo2 = true;
                        strih = false;
                        strihKontrola = false;
                        dotykKamene = false;
                        limbus = false;
                        akt = false;
                        zobrazeniNuzek = false;
                        rovnaSeDve = false;
                        Klara = false;
                        prepinacNuzek = false;
                        zakaz = false;
                        zivyMrtvy = false;
                        hrac = player;
                        vyska = 543;
                        napisPocet = 0;
                        playOrDie = false;
                        potvrzeniStrihu = false;


                    break;


                }

        }


    }


}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 无法在我的设备中启动Android App - Can't launch Android App in my device 我的 Android 应用在某些设备上安装(启动前)后立即询问位置权限 - My Android App ask location permission right after install (before launch) on some devices 我的Android应用在某些新设备上不兼容 - My android app is not compatible on some new devices 我的 android 应用程序可以在某些设备上运行,而其他相同类型的应用程序在工厂休息之前无法运行 - My android app works on some devices while others from the same type can't work until doing factory rest 在Android Studio中,我似乎无法同时在两个设备上运行我的应用 - In Android Studio I can't seem to run my app on two devices simultaneously Android应用无法在某些设备上运行 - Android app doesn't run on some devices Android应用无法在某些设备上运行 - Android app won't work in some of the devices Android应用无法在某些设备上运行 - Android app don't run on some devices 如何链接URL以启动我的Android应用程序? - How can I link a URL to launch my Android app? 我可以从我的应用程序中启动android应用程序吗? - Can I launch android apps from within my app?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM