📄 hidingplane.java
字号:
public class HidingPlane extends Actor {
public HidingPlane(){
world = World.getInstance();
}
public void initData() {
super.initSpiritDate("/hidingPlane.bin", "/hidingPlane.png",
"/hidingPlaneCom.bin");
initXYSpeed();
}
public void initCenterXY(){
this.angle = 180;
iCenterX = Tool.getCenterX(getIPosX(),angle,radius);
iCenterY = Tool.getCenterY(getIPosY(),angle,radius);
}
public void changeMyState(){
int [] data = getIProcessData();
if(processCount < getIProcess()){
if (++processTimeCount <= data[processCount * 3 + 0]) {
int orbitType = data[processCount * 3 + 1];
int bulletType = data[processCount * 3 + 2];
updateXY(orbitType,bulletType);
} else {
processCount++;
processTimeCount = 0;
}
}
}
public void updateXY(int orbitType,int bulletType){
int xPos = getIPosX();
int yPos = getIPosY();
int speed = getSpeed() << 8;
switch(orbitType){
case 27: //
angle += 3;
setIPosX(iCenterX + radius*Tool.cos(angle));
setIPosY(iCenterY - radius*Tool.sin(angle));
break;
case 0: //原地不动
if(processTimeCount == 1){
for (int idx = 0; idx < 3; idx++) {
world.newBullet(bulletType, xPos, yPos + (5 << 8),
xSpeed[idx], ySpeed[idx]);
}
}
break;
case 6: //向右
setIPosX(xPos + speed);
break;
}
}
private void initXYSpeed() {
// 已310度到230度的角
xSpeed = Tool.getXSpeedByAngle(310,3,40,4);
ySpeed = Tool.getYSpeedByAngle(310,3,40,4);
}
private int angle = 0;
private int radius = 128; //半径
/**曲线的中心点位置*/
private int iCenterX;
/**曲线的中心点位置*/
private int iCenterY;
private int [] xSpeed = new int[3];
private int [] ySpeed = new int [3];
private World world;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -