Advertisement
kemkriszt

CLS1

Jul 12th, 2014
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.04 KB | None | 0 0
  1. package hu.cig.vob;
  2.  
  3. import android.app.Activity;
  4. import android.graphics.drawable.Drawable;
  5. import android.os.Bundle;
  6. import android.util.Log;
  7. import android.view.MotionEvent;
  8. import android.view.View;
  9. import android.view.View.OnClickListener;
  10. import android.view.View.OnTouchListener;
  11. import android.widget.Button;
  12. import android.widget.ImageView;
  13. import android.widget.LinearLayout;
  14. import cug.hu.vob.R;
  15.  
  16. public class Level extends Activity {
  17.     private LevelView lv;
  18.     private LinearLayout linearL;
  19.     private Button left, right, jump, fire;
  20.     private mListener l = new mListener();
  21.    
  22.     //Konstansok az activity allapotanak mentesehez
  23.     private  String playerX = "PlayerX",playerY="PlayerY",playerH="PlayerH";
  24.  
  25.     @SuppressWarnings("deprecation")
  26.     @Override
  27.     protected void onCreate(Bundle savedInstanceState) {
  28.         super.onCreate(savedInstanceState);
  29.         setContentView(R.layout.level_layout);
  30.  
  31.         final ImageView healthBar = (ImageView) findViewById(R.id.life_view);
  32.  
  33.         Drawable d = getResources().getDrawable(R.drawable.main_screen_bg);
  34.         linearL = (LinearLayout) findViewById(R.id.linear_layout);
  35.         linearL.setBackgroundDrawable(d);
  36.  
  37.         lv = new LevelView(getApplicationContext(), getIntent().getIntExtra(
  38.                 MainActivity.LEVEL_EXTRA, 0), getWindowManager());
  39.         LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
  40.                 LinearLayout.LayoutParams.FILL_PARENT,
  41.                 LinearLayout.LayoutParams.FILL_PARENT);
  42.         lv.setLayoutParams(params);
  43.         linearL.addView(lv, 0);
  44.  
  45.         left = (Button) findViewById(R.id.left);
  46.         right = (Button) findViewById(R.id.right);
  47.         jump = (Button) findViewById(R.id.jump);
  48.         fire = (Button) findViewById(R.id.fire);
  49.  
  50.         left.setOnTouchListener(l);
  51.         right.setOnTouchListener(l);
  52.         jump.setOnTouchListener(l);
  53.         fire.setOnTouchListener(l);
  54.  
  55.         lv.setOnClickListener(new OnClickListener() {
  56. //      Game over screen esetén kilép
  57.             @Override
  58.             public void onClick(View v) {
  59.                 if (lv.getGameState()) {
  60.                     finish();
  61.                 }
  62.             }
  63.         });
  64. //      Életcsik frissitése az életnek megfelelően
  65.         new Thread() {
  66.             @Override
  67.             public void run() {
  68.                 while (true) {
  69.                     if (lv.getRobot().getHealth() <= 0) {
  70.                         runOnUiThread(new Runnable() {
  71.                            
  72.                             @Override
  73.                             public void run() {
  74.                                 healthBar.setImageResource(R.drawable.battery5);
  75.                                
  76.                             }
  77.                         });
  78.                        
  79.                     } else if (lv.getRobot().getHealth() <= 25) {
  80.                         runOnUiThread(new Runnable() {
  81.                            
  82.                             @Override
  83.                             public void run() {
  84.                                 healthBar.setImageResource(R.drawable.battery4);
  85.                                
  86.                             }
  87.                         });
  88.                     } else if (lv.getRobot().getHealth() <= 50) {
  89.                         runOnUiThread(new Runnable() {
  90.                            
  91.                             @Override
  92.                             public void run() {
  93.                                 healthBar.setImageResource(R.drawable.battery3);
  94.                                
  95.                             }
  96.                         });
  97.                     } else if (lv.getRobot().getHealth() <= 75) {
  98.                         runOnUiThread(new Runnable() {
  99.                            
  100.                             @Override
  101.                             public void run() {
  102.                                 healthBar.setImageResource(R.drawable.battery2);
  103.                                
  104.                             }
  105.                         });
  106.                     }else if(lv.getRobot().getHealth() >= 75){
  107.                         runOnUiThread(new Runnable() {
  108.                            
  109.                             @Override
  110.                             public void run() {
  111.                                 healthBar.setImageResource(R.drawable.battery);
  112.                                
  113.                             }
  114.                         });
  115.                     }
  116.                     try {
  117.                         Thread.sleep(20);
  118.                     } catch (InterruptedException e) {
  119.                         e.printStackTrace();
  120.                     }
  121.                 }
  122.                
  123.             }
  124.         }.start();
  125.     }
  126.  
  127.     @Override
  128.     protected void onPause() {
  129.         overridePendingTransition(0, 0);
  130.         super.onPause();
  131.     }
  132.    
  133.    
  134.    
  135. //  TODO:
  136.     @Override
  137.     protected void onRestoreInstanceState(Bundle savedInstanceState) {
  138.        
  139.         lv.getRobot().setX(savedInstanceState.getInt(playerX));
  140.         lv.getRobot().setY(savedInstanceState.getInt(playerY));
  141.         Log.d("LoL","Loaded y:"+savedInstanceState.getInt(playerY));
  142.         lv.getRobot().setHealth(savedInstanceState.getInt(playerH));
  143.         super.onRestoreInstanceState(savedInstanceState);
  144.     }
  145.  
  146.     @Override
  147.     protected void onSaveInstanceState(Bundle outState) {
  148.        
  149.         outState.putInt(playerX , lv.getRobot().getX());
  150.         outState.putInt(playerY, lv.getRobot().getY());
  151.         Log.d("LoL","Saved y:"+lv.getRobot().getY());
  152.         outState.putInt(playerH, lv.getRobot().getHealth() );
  153.         super.onSaveInstanceState(outState);
  154.     }
  155.  
  156.  
  157.  
  158. //  iránygombok kezelése
  159.     private class mListener implements OnTouchListener {
  160.  
  161.         @Override
  162.         public boolean onTouch(View v, MotionEvent event) {
  163.             switch (event.getAction()) {
  164.             case MotionEvent.ACTION_DOWN:
  165.  
  166.                 switch (v.getId()) {
  167.                 case R.id.left:
  168.                     lv.getRobot().moveLeft();
  169.                     break;
  170.                 case R.id.right:
  171.                     lv.getRobot().moveRight();
  172.                     break;
  173.                 case R.id.jump:
  174.                     lv.getRobot().jump();
  175.                     break;
  176.                 case R.id.fire:
  177.                     lv.getRobot().shot();
  178.                     break;
  179.                 }
  180.                 break;
  181.  
  182.             case MotionEvent.ACTION_UP:
  183.                 switch (v.getId()) {
  184.                 case R.id.left:
  185.                     lv.getRobot().stopMovingLeft();
  186.                     break;
  187.                 case R.id.right:
  188.                     lv.getRobot().stopMovingRight();
  189.                     break;
  190.                 case R.id.fire:
  191.                     lv.getRobot()._shot();
  192.                     break;
  193.                 }
  194.                 break;
  195.  
  196.             }
  197.             return true;
  198.         }
  199.  
  200.     }
  201. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement