当前位置: 首页 > news >正文

浙江做网站软文代写网

浙江做网站,软文代写网,东莞微网站,甘肃省级建设主管部门网站将游戏坐标转化成屏幕鼠标坐标 思路说明#xff1a;转化其实是取得两点的相对位置#xff0c;例如将游戏人物移动到另外一个位置#xff08;游戏人物初始位置坐标到目的位置坐标#xff09;#xff0c;鼠标需要移动到屏幕的某个位置。算出游戏的移动距离#xff0c;游戏…将游戏坐标转化成屏幕鼠标坐标 思路说明转化其实是取得两点的相对位置例如将游戏人物移动到另外一个位置游戏人物初始位置坐标到目的位置坐标鼠标需要移动到屏幕的某个位置。算出游戏的移动距离游戏两个点之间的夹角cos,sin,然后映射到屏幕中的两个点。 注意需要提前算出游戏两点距离对应屏幕两点间距离的比例游戏距离/屏幕两点距离只是针对第一人称人物固定屏幕类游戏 1.获取鼠标在屏幕的坐标 package com.company;import javax.swing.*; import javax.swing.border.EmptyBorder; import java.awt.*; import java.util.Timer; import java.util.TimerTask;public class MouseInfo extends JFrame {private final JPanel contentPanel new JPanel();JLabel value_x null;JLabel value_y null;/*** 展示画布显示鼠标坐标*/public static void getMouse() {try {MouseInfo info_frame new MouseInfo();info_frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);info_frame.setVisible(true);info_frame.setAlwaysOnTop(true);Timer timer new Timer();timer.schedule(new TimerTask() {Overridepublic void run() {Point point java.awt.MouseInfo.getPointerInfo().getLocation();info_frame.value_x.setText( point.x);info_frame.value_y.setText( point.y);}}, 100, 100);} catch (Exception e) {e.printStackTrace();}}/*** Create the dialog.*/public MouseInfo() {setTitle(\u9F20\u6807\u5750\u6807\u83B7\u53D6\u5668);setBounds(100, 100, 217, 156);getContentPane().setLayout(new BorderLayout());contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));getContentPane().add(contentPanel, BorderLayout.CENTER);contentPanel.setLayout(null);JLabel lblx new JLabel(\u5750\u6807x:);lblx.setFont(new Font(宋体, Font.PLAIN, 15));lblx.setBounds(22, 27, 66, 31);contentPanel.add(lblx);JLabel lbly new JLabel(\u5750\u6807y:);lbly.setFont(new Font(宋体, Font.PLAIN, 15));lbly.setBounds(22, 68, 66, 31);contentPanel.add(lbly);value_x new JLabel(0);value_x.setForeground(Color.BLUE);value_x.setFont(new Font(宋体, Font.PLAIN, 20));value_x.setBounds(82, 27, 66, 31);contentPanel.add(value_x);value_y new JLabel(0);value_y.setForeground(Color.BLUE);value_y.setFont(new Font(宋体, Font.PLAIN, 20));value_y.setBounds(82, 68, 66, 31);contentPanel.add(value_y);} }2.坐标操作工具方法 /*** 获取两个点距离* param lat1 第一个位置的x* param lon1 第一个位置的y* param lat2 第二个位置的x* param lon2 第二个位置的y* return 两点之间的距离*/public static double distance(double lat1, double lon1, double lat2, double lon2){double DMath.sqrt((lat2-lat1)*(lat2-lat1)(lon2-lon1)*(lon2-lon1));return D;}/*** 获取两点之间的sin 值* param lat1 第一个位置的x* param lon1 第一个位置的y* param lat2 第二个位置的x* param lon2 第二个位置的y* return*/public static double getSin(double lat1, double lon1, double lat2, double lon2){double sinMath.abs(lon2-lon1)/distance(lat1,lon1,lat2,lon2);return sin;}/*** 获取两点之间的cos 值* param lat1 第一个位置的x* param lon1 第一个位置的y* param lat2 第二个位置的x* param lon2 第二个位置的y* return*/public static double getCos(double lat1, double lon1, double lat2, double lon2){double cosMath.abs(lat2-lat1)/distance(lat1,lon1,lat2,lon2);return cos;}/*** 获取第二个位置坐标* param lat1* param lon1* param sin* param cos* param distance*/public static void getPointTow(double lat1, double lon1 ,double sin ,double cos,double distance){double lon2distance*sinlon1;double lat2distance*coslat1;System.out.println(第二个坐标xlat2 ylon2);}3.计算游戏对应的屏幕坐标 public static void main(String[] args) {MouseInfo.getMouse();//假如已经算出游戏与屏幕两点距离的比例是3 游戏距离/屏幕距离3Double scale3d;Double value_x1372d;double value_y524d;//假如游戏人物当前所在的游戏位置是902,302 想移动到1372,524double distancedistance(902,302,value_x,value_y);double singetSin(902,302,value_x,value_y);double cosgetCos(902,302,value_x,value_y);//人物固定在屏幕的中间假如屏幕坐标1033,415 算出游戏人物要移动到游戏1372,524所在的屏幕坐标。getPointTow(1033,415,sin,cos,distance/scale);// write your code here}/*** 获取两个点距离* param lat1 第一个位置的x* param lon1 第一个位置的y* param lat2 第二个位置的x* param lon2 第二个位置的y* return 两点之间的距离*/public static double distance(double lat1, double lon1, double lat2, double lon2){double DMath.sqrt((lat2-lat1)*(lat2-lat1)(lon2-lon1)*(lon2-lon1));return D;}/*** 获取两点之间的sin 值* param lat1 第一个位置的x* param lon1 第一个位置的y* param lat2 第二个位置的x* param lon2 第二个位置的y* return*/public static double getSin(double lat1, double lon1, double lat2, double lon2){double sinMath.abs(lon2-lon1)/distance(lat1,lon1,lat2,lon2);return sin;}/*** 获取两点之间的cos 值* param lat1 第一个位置的x* param lon1 第一个位置的y* param lat2 第二个位置的x* param lon2 第二个位置的y* return*/public static double getCos(double lat1, double lon1, double lat2, double lon2){double cosMath.abs(lat2-lat1)/distance(lat1,lon1,lat2,lon2);return cos;}/*** 获取第二个位置坐标* param lat1* param lon1* param sin* param cos* param distance*/public static void getPointTow(double lat1, double lon1 ,double sin ,double cos,double distance){double lon2distance*sinlon1;double lat2distance*coslat1;System.out.println(第二个坐标xlat2 ylon2);}
http://www.hkea.cn/news/14335725/

相关文章:

  • 网站后台怎么上传表格有网站怎么做下载直链
  • 网站核心词如何做wordpress指定页面连接数据库连接
  • 单县网站定制事业单位门户网站建设包含内容
  • 低价网站设计沭阳做网站好的
  • 一站式网站建设行业青锐成长计划网站开发过程
  • 学校网站建设的背景做dna胎儿亲子鉴定网站
  • 做网站怎么盈利网站开发系统有哪些开发方案
  • 企业网站建设预算表自己学习建设网站
  • 大学 两学一做专题网站wordpress error
  • 果乐宝的网站建设什么做电子书下载网站
  • 民营建筑网站淮安网站设计
  • 做外贸的网站哪些是最好的手机网站免费生成app
  • 网站开发一个页面多少钱建筑业资质证书查询网
  • 盐城网站优化工作室网页设计网站模板网站建设网页模板下载
  • 张家界市网站建设设计合肥发布网
  • 做网站的需要哪些职位博客园wordpress主题
  • 制作logo设计html网站如何做seo
  • 南昌有什么网站结构设计网站推荐
  • 新网站seo优化电子商务网站设计原理名词解释
  • 公司网站如何上传视频临沂市建设局兰山区网站
  • 阿里云备案网站负责人义乌网站建设与维护
  • 网站建设技术论坛.net做网站实例 贴吧
  • 设计网站哪个好用招标网站排行榜
  • 十个程序员必备的网站业务外包的优势和劣势
  • 一个网站两个域名吗电子商务网站建设的主页
  • 时尚类网站建设北京网站制作公司电话
  • 服务类网站怎么做做二手房产网站多少钱
  • 有没有专门做牛仔的网站加强网站建设会
  • 帮人做钓鱼网站的人随州程力网站建设
  • 建设部证书查询网站西安网站建设盈科