当前位置: 首页 > 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/14358382/

相关文章:

  • 陕西网站建设设计公司如何做好seo基础优化
  • 龙岩做网站开发哪家公司好腾讯企业邮箱扫码登录
  • 做一个综合商城网站多少钱温州营销网站制作报价
  • 服务器网站托管清湖做网站的
  • 权威做网站的公司网站建设怎么制作模板
  • php户外运动产品企业网站源码大型网页设计
  • 濮阳网站建设推广网站建设兆金手指花总
  • 长沙网站建设公司哪家专业网页制作教程
  • 长沙微信网站建设网店美工实训报告总结2000字
  • 网站QQ互联教程推广策略怎么写
  • 德阳网站怎么做seo用帝国做网站怎么样
  • 工业设计参考网站天津滨海新区旅游景点
  • 网站不备案备案北京装修设计公司有哪些
  • 网站制作好如何上线广州电子商城网站
  • 四川seo整站优化费用推广引流app
  • 让网站快速收录江苏公众科技网站建设
  • 做新闻类网站需要什么资质wordpress主题语言
  • 展示型网站建巨鹿做网站哪家好
  • 个人备案企业网站怎么用源码建站
  • 什么公司做网站的多网站空间提供
  • 网站做好了怎么做后台内容营销策略分析
  • nike网站开发背景及意义上海房产网二手房出售
  • 家居网站建设费用修改WordPress文章修改样式
  • 网页设计类网站一度设计公司
  • 东莞网站快速排名个人网站开发协议
  • 如何让百度收录我的网站网站301定向
  • 整站优化价格公众号制作的网站开发
  • 自己做的网站如何推广北京环球影城可以带水果吗
  • 模板网站建设服务商北京做兼职哪个网站
  • wordpress 适合做小说站吗网站建设维护费怎么说