Открыть спойлер
Закрыть спойлер
- public class Cancl extends GameCanvas implements Runnable{
- Image imgfon;
- Display display;
- private Hero spr;
- private Hero sprEN;
- LayerManager lm;
- TiledLayer fon;
- private byte move=0;
- private byte moveEN=0;
- private byte moveEn=0;
- private byte run=1;
- private int x;
- private int y;
- int x_en;
- int y_en;
- private int delX;
- private int delY;
- Cancl(Midlet mg) throws IOException{super(true);
- setFullScreenMode(true);
- lm=new LayerManager();
- imgfon=Image.createImage("/res/back.png");
- Image img=Image.createImage("/res/Sprite_demon.png");
- Image imgEN=Image.createImage("/res/vsadnic.png");
- spr=new Hero(img,65,60);
- sprEN=new Hero(imgEN,65,60);
- spr.defineReferencePixel(getHeight()/2, getWidth()/2);
- sprEN.defineReferencePixel(getHeight()/2, getWidth()/2);
- sprEN.setPosition(0,0);
- spr.setPosition(getWidth()-65,getHeight()-60);
- lm.append(spr);
- lm.append(sprEN);
- // lm.append(fon);
- lm.append(createBoard());
- }
- public void start(){Thread thread=new Thread(this);
- thread.start();}
- public void run(){Graphics g=getGraphics();
- while(true){
- try {
- Thread.sleep(40);
- } catch (InterruptedException ex) {System.out.println("Error");}
- paint(g);
- repaint();
- input();
- if(sprEN.collidesWith(spr,true)){botColl();}else {botEN();}//!!!!!!!!!
- }
- }
- void input(){ int key=getKeyStates();
- if(key==DOWN_PRESSED){spr.down();if(move!=1){spr.setFrameSequence(spr.sequenceD);move=1;
- }}
- if(key==UP_PRESSED){spr.up();if(move!=2){spr.setFrameSequence(spr.sequenceUP);move=2;
- }}
- if(key==LEFT_PRESSED){spr.left();if(move!=3){spr.setFrameSequence(spr.sequenceL);move=3;
- }}
- if(key==RIGHT_PRESSED){spr.right();if(move!=4){spr.setFrameSequence(spr.sequenceR);move=4;
- }}
- if(key==FIRE_PRESSED){spr.fire();if(move==1){spr.setFrameSequence(spr.fireD);move=0;
- }else if(move==2){spr.setFrameSequence(spr.fireU);move=0;
- }else if(move==3){spr.setFrameSequence(spr.fireL);move=0;
- }else if(move==4){spr.setFrameSequence(spr.fireR);move=0;
- }
- }
- if(key==0){spr.setFrame(1);}}
- void paint(){ paint(getGraphics());}
- public void paint(Graphics g){
- g.setColor(0,0,0);
- g.fillRect(0, 0,getWidth(),getHeight());
- g.setColor(255, 0,0);
- g.drawString("", 10, 10,0);
- lm.paint(g, 0, 0);
- flushGraphics();
- }
- private void botEN(){
- run=1;
- x=spr.getX();
- y=spr.getY();
- x_en=sprEN.getX();
- y_en=sprEN.getY();
- delX=x_en-x;
- delY=y_en-y;
- if(delX>0){sprEN.move(-run,0);sprEN.nextFrame();if(moveEN!=1)sprEN.setFrameSequence(sprEN.sequenceL);moveEN=1;
- }else if(delX<0){sprEN.move(run,0);sprEN.nextFrame();if(moveEN!=2)sprEN.setFrameSequence(sprEN.sequenceR);moveEN=2;
- }else
- if(delY>0){sprEN.move(0,-run);sprEN.nextFrame();if(moveEN!=3)sprEN.setFrameSequence(sprEN.sequenceUP);moveEN=3;
- }else if(delY<0){sprEN.move(0,run);sprEN.nextFrame();if(moveEN!=4)sprEN.setFrameSequence(sprEN.sequenceD);moveEN=4;
- }
- }
- void botColl(){
- run=0;
- if(moveEN!=0)moveEN=0;
- if(x_en>x){sprEN.nextFrame();if(moveEn!=1)sprEN.setFrameSequence(sprEN.fireL);moveEn=1;}else
- if(x_en<x){sprEN.nextFrame();if(moveEn!=2)sprEN.setFrameSequence(sprEN.fireR);moveEn=2;}else
- if(y_en>y){sprEN.nextFrame();if(moveEn!=3)sprEN.setFrameSequence(sprEN.fireU);moveEn=3;}else
- if(y_en<y){sprEN.nextFrame();if(moveEn!=4)sprEN.setFrameSequence(sprEN.fireD);moveEn=4;}
- }
- }
![:-(](https://annimon.com/files/smiles/98.gif)