javafx2

介绍

我相信大多数软件开发人员可能会在年轻人(年轻人)生活的某一时刻被迫创建游戏来帮助他们学习编程语言(我知道我曾经做过)。 以前,我的第一台计算机实际上是Franklin Ace 1000 ,后来是Apple [] 。 在这些系统上开发游戏时,这非常具有挑战性。 对于初学者,您必须学习汇编语言(6502),实际上几乎没有工具来创建子画面(图形资产)。 我认为我最喜欢的一款游戏可能是第一款实时策略(RTS)游戏,是《 抢劫攻略》 ( Rescue Raiders ,1984)。

让我们进入2012年,自那时以来,计算机,图形工具包,库和游戏引擎已经走了很长一段路。 许多API都会提供许多可以屏蔽API用户的管道,以便他们可以专注于使游戏变得有趣而令人兴奋。 谈到API JavaFX 2.x不仅是创建美观应用程序的出色UI工具包,而且还可以使游戏变得有趣。 使用JavaFX 2.x,您将能够创建可以消磨时间并带来数小时乐趣的游戏!

图1太空飞船的SVG

长大后我一直对科幻电影如“星球大战”和“ 星际迷航”着迷。 我一直想创建一个简单的顶视图显示游戏(2D),在其中我可以像经典游戏《小行星》一样控制飞船。 然而,随着时间的流逝,一位朋友与我分享了《 星际争霸 1》和《 育雏战争》的游戏,我感到非常惊讶。 我真的很喜欢今天的游戏,所以我想采用游戏的某些元素,例如使用鼠标指针和按钮(例如:Terran Battle Cruiser)导航部队和部队。

在此博客文章(第1部分)中,我将简要说明使用简单形状的简单宇宙飞船的游戏或导航。 在第1部分(此博客条目)中没有显示代码,而是一个简单的应用程序来演示飞船在最终游戏中的行为。 随着系列的进行,您会注意到渐进式的变化,例如酷炫的精灵,声音等。请记住,最后一场比赛将是一艘飞船,避开敌舰并以声音效果向后射击。 该船将看起来像此博客条目开头所描述的船(图1)。

我想创建一系列博客条目( 六个部分 ),详细介绍如何创建JavaFX 2.x游戏的教程。 。 以下是该系列的简要摘要:

第1部分-简介( 单击此处以运行演示 )
第2部分– 游戏循环
第3部分-输入/(鼠标,键盘) 第4部分–精灵/碰撞 第五部分–声音 第六部分–结论思想

需求与设计

  • 使用基本形状创建太空飞船的原型。
  • 根据鼠标右键单击的屏幕位置,顺时针或逆时针旋转飞船。
  • 按下主按钮时发射射弹。
  • 显示鼠标按下(x,y)屏幕坐标
  • 显示角度以旋转船头(船前)
  • 显示飞船旋转的方向(顺时针或逆时针)

图2中显示的是一个使用简单形状的简单原型,以帮助我们专注于数学。 一个好的原则是在投入大量时间来绘制图形资产之前,先创建一个功能原型。

图2太空飞船原型
  • (MX,MY)–按下鼠标(x,y)可以协调JavaFX Scene上的空间。
  • (vx,vy)–相对于船中心的直角坐标转换为结束角或鼠标按下(x,y)坐标。
  • (ux,uy)–起始角或上次鼠标按下(x,y)坐标转换为相对于船中心的笛卡尔坐标。
  • U形角:船首旋转角度。 在笛卡尔坐标系(1,0)中,鼻子指向西或零度。 随着船舶逆时针旋转,角度会增加。 当沿顺时针方向移动时,旋转角度将为负数。
  • V的角度:船头旋转应停止的角度。 在笛卡尔坐标系(1,0)中,鼻子指向东或零度。 随着船舶逆时针旋转,角度会增加。 当沿顺时针方向移动时,旋转角度将为负数。
  • 方向:旋转船头以顺时针或逆时针旋转船。 当单击鼠标以在小于180度的角度旋转船舶时,船舶将转向鼠标单击,而不是转向大于180度的另一种方式(长距离)。

演示版

要求:

  • Java 7或更高版本
  • JavaFX 2.0或更高版本
  • Windows XP或更高版本(应该很快可用于Linux / MacOS)

飞船导航和武器系统的简单原型。

说明:

  • 右键单击(在Windows上)鼠标以飞船。
  • 主武器(在Windows鼠标上单击鼠标左键)以射击武器。

点击此处运行演示

参考资料

富兰克林Ace –老式计算机:http://www.vintage-computer.com/franklin.shtml

Apple] [ –老式计算机:http://en.wikipedia.org/wiki/Apple_II

救援攻略 –维基百科:http://en.wikipedia.org/wiki/Rescue_Raiders

星球大战 –电影数据库:http://www.imdb.com/title/tt0076759/

星际迷航 –电影数据库:http://www.imdb.com/title/tt0796366/

星际飞船 –维基百科:http://en.wikipedia.org/wiki/Star_Craft

星际飞船母巢之战 –维基百科:http://en.wikipedia.org/wiki/StarCraft:_Brood_War

http://en.wikipedia.org/wiki/Rescue_Raiders

参考:来自我们的JCG合作伙伴 Carl Dea的JavaFX 2 GameTutorial第1部分 ,位于Carl's FX博客上。

翻译自: https://www.javacodegeeks.com/2012/04/javafx-2-gametutorial-part-1.html

javafx2

javafx2_JavaFX 2 GameTutorial第1部分相关推荐

  1. javafx2_JavaFX 2 GameTutorial第5部分

    javafx2 介绍 这是与JavaFX 2 Game Tutorial相关的六部分系列的第五部分. 我知道自从我写关于游戏的博客以来已经有很长时间了,但希望您仍然与我在一起. 如果您想回顾一下,请阅 ...

  2. javafx2_JavaFX 2 GameTutorial第4部分

    javafx2 介绍 这是与JavaFX 2游戏教程相关的六个部分系列的第四部分. 如果您错过了第1部分 , 第2部分或第3部分 ,我建议您在开始本教程之前仔细阅读它们. 回顾一下,在第3部分中,我为 ...

  3. javafx2_JavaFX 2 GameTutorial第3部分

    javafx2 介绍 Ť他是与一个六个部分组成的系列的第3部分的JavaFX 2游戏教程. 如果您错过了第1部分和第2部分 ,我建议您在开始本教程之前仔细阅读它们. 回顾第2部分,我讨论了游戏循环的内 ...

  4. javafx_JavaFX 2 GameTutorial第2部分

    javafx 介绍 Ť他的是一系列与一个JavaFX 2游戏教程博客条目的第二批. 如果您尚未阅读第1部分,请参阅JavaFX 2游戏教程的简介部分. 在第1部分中,我提到了游戏的一些方面以及原型飞船 ...

  5. JavaFX 2 GameTutorial第5部分

    介绍 这是与JavaFX 2 Game Tutorial相关的六部分系列的第五部分. 我知道自从我写关于游戏的博客以来已经很长时间了,但希望您仍然与我在一起. 如果您想回顾一下,请阅读第1部分 , 第 ...

  6. JavaFX 2 GameTutorial第4部分

    介绍 这是与JavaFX 2游戏教程相关的六个部分系列的第四部分. 如果您错过了第1部分 , 第2部分或第3部分 ,我建议您在开始本教程之前仔细阅读它们. 回顾一下,在第3部分中,我为您提供了许多经典 ...

  7. JavaFX 2 GameTutorial第3部分

    介绍 Ť他是与一个六个部分组成的系列的第3部分的JavaFX 2游戏教程. 如果您错过了第1部分和第2部分 ,建议您在开始本教程之前先进行阅读. 回顾第二部分,我讨论了游戏循环的内部工作原理,其中我们 ...

  8. JavaFX 2 GameTutorial第1部分

    介绍 我相信大多数软件开发人员可能会在年轻人(年轻人)一生中的某一时刻被迫创建游戏来帮助他们学习编程语言(我知道我确实做到了). 以前,我的第一台计算机实际上是Franklin Ace 1000 ,后 ...

  9. JavaFX 2 GameTutorial第2部分

    介绍 Ť他的是一系列与一个JavaFX 2游戏教程博客条目的第二批. 如果您尚未阅读第1部分,请参阅JavaFX 2游戏教程的简介部分. 在第1部分中,我提到了游戏的某些方面以及原型飞船的简单演示(原 ...

最新文章

  1. 将STM32的标准库编译成lib
  2. ps制作html图标素材,如何用PS制作一个简单的扁平化图标?
  3. 威纶通触摸屏与仪表通讯_西门子S7-200PLC与威纶通HMI的通信案例
  4. Linux 之五 最新 2021 一图看尽 Linux 发行版
  5. Cloud for Customer的主页加载逻辑
  6. Java微服务:蛋糕是骗人的,但您不能忽略它
  7. Cheatsheet: 2011 09.13 ~ 09.19
  8. setnx是原子操作吗_Redis面试七连问,你能扛得住吗?
  9. Python正则表达式总结
  10. QQ邮箱发送邮件,出现mail from address must be same as authorization user错误
  11. 程序布置到服务器上速度慢_百战程序员python面试题总结---高级语法(4)
  12. 统计自然语言处理基础——学习摘要(1)
  13. 如何在Windows XP下安装Windows2000
  14. bug4-UnknownError: Failed to get convolution algorithm. This is probably because cuDNN failed...
  15. c语言输出语句形式,c语言输出语句是什么
  16. 3ds max软件如何彻底卸载干净
  17. TKT中文编程语言简介
  18. 5G时代车联网的通信协议——C-V2X
  19. html点击某部分后弹出展开,点击按钮弹出框并显示内容
  20. html坦克游戏,HTML5+JS实现坦克大战小游戏

热门文章

  1. Util包中Arrays
  2. 如何使用Mybatis-plus
  3. 2015蓝桥杯省赛---java---C---9(打印大X)
  4. Centos7安装apt-get 在centos下用yum install xxx        不是使用apt-get
  5. 手机钉钉在进行视频会议时怎么录屏
  6. String path = request.getContextPath()和String basePath = request.getScheme()
  7. java流与文件——正则表达式
  8. java流式传输对象_Java性能:面向教学与流式传输
  9. jmeter负载测试测试_使用Apache JMeter负载测试Web应用程序
  10. graphql_GraphQL在Wildfly群上