Java t组件(图形g){ 超级组件(g); /////////////////////// //拉枪 //“xcoordinate”表示枪的位置。 //左转()和右转将控制它 g、 抽绳(xCoordinate,getHeight()-gunSize,getWidth()/2,getHeight()); /////////////////////// //要增加枪的厚度,在枪旁边再画两条线 g、 抽绳(xCoordinate-1,getHeight()-gunSize,getWidth()/2-1,getHeight()); g、 抽绳(xCoordinate+1,getHeight()-gunSize,getWidth()/2+1,getHeight()); /////////////////////// /////////////////////// //如果气球被击中,则显示迷你气球,否则显示气球 如果(有阴影){ g、 Draw椭圆形(BallodLocation.x+破碎距离,BallodLocation.y,BallodRadius/2,BallodRadius/2); g、 Draw椭圆形(BallodLocation.x-破碎距离,BallodLocation.y,BallodRadius/2,BallodRadius/2); g、 Draw椭圆形(BallodLocation.x,BallodLocation.y+破碎距离,BallodRadius/2,BallodRadius/2); g、 drawOval(BallodLocation.x,BallodLocation.y-破碎距离,BallodRadius/2,BallodRadius/2); shatterDistance+=5;//移动迷你气球 }否则{ g、 Draw椭圆形(BallodLocation.x,BallodLocation.y,BallodRadius,BallodRadius); } ///////////////////// ////////////////// //拔出子弹 如果(拍摄){ g、 drawOval(shootingFrom.x、shootingFrom.y、bulletRadius、bulletRadius); //////////////////////////// //检查子弹是否击中气球 //项目符号位于引出序号的左右边界之间 //子弹在气球的上下边界之间 如果((shootingFrom.x>=balloodLocation.x&&shootingFrom.x=balloodLocation.y&&shootingFrom.y

Java t组件(图形g){ 超级组件(g); /////////////////////// //拉枪 //“xcoordinate”表示枪的位置。 //左转()和右转将控制它 g、 抽绳(xCoordinate,getHeight()-gunSize,getWidth()/2,getHeight()); /////////////////////// //要增加枪的厚度,在枪旁边再画两条线 g、 抽绳(xCoordinate-1,getHeight()-gunSize,getWidth()/2-1,getHeight()); g、 抽绳(xCoordinate+1,getHeight()-gunSize,getWidth()/2+1,getHeight()); /////////////////////// /////////////////////// //如果气球被击中,则显示迷你气球,否则显示气球 如果(有阴影){ g、 Draw椭圆形(BallodLocation.x+破碎距离,BallodLocation.y,BallodRadius/2,BallodRadius/2); g、 Draw椭圆形(BallodLocation.x-破碎距离,BallodLocation.y,BallodRadius/2,BallodRadius/2); g、 Draw椭圆形(BallodLocation.x,BallodLocation.y+破碎距离,BallodRadius/2,BallodRadius/2); g、 drawOval(BallodLocation.x,BallodLocation.y-破碎距离,BallodRadius/2,BallodRadius/2); shatterDistance+=5;//移动迷你气球 }否则{ g、 Draw椭圆形(BallodLocation.x,BallodLocation.y,BallodRadius,BallodRadius); } ///////////////////// ////////////////// //拔出子弹 如果(拍摄){ g、 drawOval(shootingFrom.x、shootingFrom.y、bulletRadius、bulletRadius); //////////////////////////// //检查子弹是否击中气球 //项目符号位于引出序号的左右边界之间 //子弹在气球的上下边界之间 如果((shootingFrom.x>=balloodLocation.x&&shootingFrom.x=balloodLocation.y&&shootingFrom.y,java,swing,paintcomponent,keylistener,event-driven,Java,Swing,Paintcomponent,Keylistener,Event Driven,确定项目符号移动角度的线如下所示: shootingFrom.x += (bulletTilt/3); 这里除以3可能不是正确的计算方法 你需要在扣动扳机时计算枪的角度,从中提取“子弹水平增量”,并在每次刷新时将其添加到shootingFrom.x。因为,每当我看到类型为//的注释时,我怀疑。如果你使用Javadoc注释(/**以*/结尾),变量将用javadoc记录。否则,常规注释就可以了。要确定两点之间的角度,请考虑三角学(sin、cos、tan) shootingFrom.x += (b

确定项目符号移动角度的线如下所示:

shootingFrom.x += (bulletTilt/3);
这里除以3可能不是正确的计算方法


你需要在扣动扳机时计算枪的角度,从中提取“子弹水平增量”,并在每次刷新时将其添加到
shootingFrom.x

因为,每当我看到类型为
//的注释时,我怀疑。如果你使用Javadoc注释(
/**
*/
结尾),变量将用javadoc记录。否则,常规注释就可以了。要确定两点之间的角度,请考虑三角学(sin、cos、tan)
shootingFrom.x += (bulletTilt/3);