|
@@ -93,10 +93,6 @@ public class UdpServerService {
|
|
try {
|
|
try {
|
|
//创建一个服务端对象,注册端口
|
|
//创建一个服务端对象,注册端口
|
|
DatagramSocket socket = new DatagramSocket(udpConfig.getPort());
|
|
DatagramSocket socket = new DatagramSocket(udpConfig.getPort());
|
|
- Boolean isFirst = true;
|
|
|
|
- float initX = 0;
|
|
|
|
- float initY = 0;
|
|
|
|
- float level = 0.00001f;
|
|
|
|
//创建一个数据包对象,用于接收数据
|
|
//创建一个数据包对象,用于接收数据
|
|
byte[] data = new byte[1024];
|
|
byte[] data = new byte[1024];
|
|
DatagramPacket packet = new DatagramPacket(data, data.length);
|
|
DatagramPacket packet = new DatagramPacket(data, data.length);
|
|
@@ -120,44 +116,15 @@ public class UdpServerService {
|
|
if (udpData != null) {
|
|
if (udpData != null) {
|
|
UdpDataUtils.time += 1;
|
|
UdpDataUtils.time += 1;
|
|
udpData.setTime(UdpDataUtils.time);
|
|
udpData.setTime(UdpDataUtils.time);
|
|
-// for (int i = 0; i < udpData.getTargetAircraft().size(); i++) {
|
|
|
|
-// List<Aircraft> aircrafts = udpData.getTargetAircraft().get(i).getAircrafts();
|
|
|
|
-// for (int j = 0; j < aircrafts.size(); j++) {
|
|
|
|
-// Aircraft aircraft = aircrafts.get(j);
|
|
|
|
-// if (aircraft.getAircraftNumber().equals("1")) {
|
|
|
|
-// if (UdpDataUtils.time > 100 && UdpDataUtils.time < 200) {
|
|
|
|
-// aircraft.setCoordinateX(aircraft.getCoordinateX() + UdpDataUtils.time);
|
|
|
|
-// aircraft.setCoordinateY(aircraft.getCoordinateY() + 100);
|
|
|
|
-// } else if (UdpDataUtils.time > 200 && UdpDataUtils.time < 300) {
|
|
|
|
-// aircraft.setCoordinateX(aircraft.getCoordinateX() + 200);
|
|
|
|
-// aircraft.setCoordinateY(aircraft.getCoordinateY() + UdpDataUtils.time);
|
|
|
|
-// } else {
|
|
|
|
-// aircraft.setCoordinateX(aircraft.getCoordinateX() + UdpDataUtils.time);
|
|
|
|
-// aircraft.setCoordinateY(aircraft.getCoordinateY() + UdpDataUtils.time);
|
|
|
|
-// }
|
|
|
|
-// } else if (aircraft.getAircraftNumber().equals("2")) {
|
|
|
|
-// if (UdpDataUtils.time > 100 && UdpDataUtils.time < 200) {
|
|
|
|
-// aircraft.setCoordinateX(aircraft.getCoordinateX() + UdpDataUtils.time + 50);
|
|
|
|
-// aircraft.setCoordinateY(aircraft.getCoordinateY() + 150);
|
|
|
|
-// } else if (UdpDataUtils.time > 200 && UdpDataUtils.time < 300) {
|
|
|
|
-// aircraft.setCoordinateX(aircraft.getCoordinateX() + 250);
|
|
|
|
-// aircraft.setCoordinateY(aircraft.getCoordinateY() + UdpDataUtils.time + 50);
|
|
|
|
-// } else {
|
|
|
|
-// aircraft.setCoordinateX(aircraft.getCoordinateX() + UdpDataUtils.time + 50);
|
|
|
|
-// aircraft.setCoordinateY(aircraft.getCoordinateY() + UdpDataUtils.time + 50);
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
if(udpData.getTargetAircraft() != null){
|
|
if(udpData.getTargetAircraft() != null){
|
|
for (AircraftFormation aircraftFormation : udpData.getTargetAircraft()) {
|
|
for (AircraftFormation aircraftFormation : udpData.getTargetAircraft()) {
|
|
for (Aircraft aircraft : aircraftFormation.getAircrafts()) {
|
|
for (Aircraft aircraft : aircraftFormation.getAircrafts()) {
|
|
- if(isFirst){
|
|
|
|
- initX=aircraft.getCoordinateX() - 500 * level;
|
|
|
|
- initY=aircraft.getCoordinateY() - 500 * level;
|
|
|
|
- isFirst = false;
|
|
|
|
|
|
+ if(CoordinateSystem.INSTANCE.getInitFlag()){
|
|
|
|
+ CoordinateSystem.INSTANCE.setX(aircraft.getCoordinateX() - CoordinateSystem.INSTANCE.getConversionCenterPixel());
|
|
|
|
+ CoordinateSystem.INSTANCE.setY(aircraft.getCoordinateY() - CoordinateSystem.INSTANCE.getConversionCenterPixel());
|
|
|
|
+ CoordinateSystem.INSTANCE.setInitFlag(false);
|
|
}
|
|
}
|
|
- getNewXYAircraftCoordinate(aircraft,initX,initY,level);
|
|
|
|
|
|
+ getNewXYAircraftCoordinate(aircraft);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -174,11 +141,11 @@ public class UdpServerService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- private void getNewXYAircraftCoordinate(Aircraft aircraft, float initX, float initY, float level) {
|
|
|
|
|
|
+ private void getNewXYAircraftCoordinate(Aircraft aircraft) {
|
|
aircraft.setCoordinateOX(aircraft.getCoordinateX());
|
|
aircraft.setCoordinateOX(aircraft.getCoordinateX());
|
|
aircraft.setCoordinateOY(aircraft.getCoordinateY());
|
|
aircraft.setCoordinateOY(aircraft.getCoordinateY());
|
|
aircraft.setCoordinateOZ(aircraft.getCoordinateZ());
|
|
aircraft.setCoordinateOZ(aircraft.getCoordinateZ());
|
|
- aircraft.setCoordinateX((aircraft.getCoordinateX()-initX)/level);
|
|
|
|
- aircraft.setCoordinateY((aircraft.getCoordinateY()-initY)/level);
|
|
|
|
|
|
+ aircraft.setCoordinateX((aircraft.getCoordinateX()-CoordinateSystem.INSTANCE.getX())/CoordinateSystem.INSTANCE.getConversionRate());
|
|
|
|
+ aircraft.setCoordinateY((aircraft.getCoordinateY()-CoordinateSystem.INSTANCE.getY())/CoordinateSystem.INSTANCE.getConversionRate());
|
|
}
|
|
}
|
|
}
|
|
}
|