java游戏开发入门十 - 粒子特效

  • java游戏开发入门十 - 粒子特效
    • 前言
    • 编码
      • 创建一个粒子发射器,并将粒子发射器添加到实体对象
      • 效果图
    • 完整代码
    • 完整项目

java游戏开发入门十 - 粒子特效

前言

  粒子效果,额,可能不算基础,可以先会了,后面精通…

编码

创建一个粒子发射器,并将粒子发射器添加到实体对象

/*** 创建玩家实体* @return 玩家实体*/@Spawns("Player")public Entity newPlayer(SpawnData data){//引入Player图片资源var texture = texture("player.gif");var emitter = new ParticleEmitter();emitter.setMaxEmissions(Integer.MAX_VALUE);// 粒子数emitter.setNumParticles(50);emitter.setEmissionRate(0.6);// 粒子大小(最小值,最大值),创建的大小将是最小值(包括)和最大值(不包括)之间的随机值。emitter.setSize(1, 5);// 定义粒子大小如何随时间变化。emitter.setScaleFunction(i -> FXGLMath.randomPoint2D().multiply(0.2));// 定义粒子的过期时间emitter.setExpireFunction(i -> Duration.seconds(random(0.25, 2.5)));// 例子偏移方向emitter.setAccelerationFunction(() -> new Point2D(1,1));// 例子初始速度emitter.setVelocityFunction(i -> FXGLMath.randomPoint2D().multiply(random(1, 10)));// 例子初始位置(实体的相对坐标,0,0即实体的 x,y位置/ 30,50即实体的 x+30,y+50位置)emitter.setSpawnPointFunction(i-> new Point2D(30,60));
//        emitter.setColor(Color.BLUE);emitter.setStartColor(Color.BLUE);emitter.setEndColor(Color.RED);return FXGL.entityBuilder(data)// 声明设备类型.type(EntityType.PLAYER)// 将实体标记为可碰撞,并根据UI大小自动生成碰撞体积.collidable()// 添加粒子效果.with(new ParticleComponent(emitter)).viewWithBBox(texture).build();}

效果图

完整代码

全部代码以后就不贴了,去github上看就好了

完整项目

https://github.com/lhDream/lhDreamGameDemo/tree/master/HelloWorld

java游戏开发入门(十) -粒子特效相关推荐

  1. java游戏开发入门(二) - 菜单

    java游戏开发入门(二) - 菜单 前言 编码 主菜单 游戏内菜单(按下ESC后出现,并会暂停游戏) 效果展示 主菜单 游戏内菜单 完整代码 完整项目 前言   上一章我们创建了一个600x600的 ...

  2. java游戏开发入门(六) - 变量 UI

    java游戏开发入门(六) - 变量 & UI 前言 编码 首先我们创建一个变量 修改碰撞逻辑 初始化UI并将UI与变量绑定绑定 于是我们就得到了这样一个效果 完整代码 完整项目 前言   上 ...

  3. java游戏开发入门(七) - 计时器

    java游戏开发入门(七) - 计时器 前言 函数说明 在一秒钟之后执行一次 每隔0.5秒执行一次 实例 目标效果 敌方实体 定时创建敌方实体 碰撞效果 效果展示 完整代码 HelloWorldApp ...

  4. java游戏开发入门(九) -音效

    java游戏开发入门(九) - 图像 前言 音频资源 编码 首先完成BGM 紧接着完成音效部分 项目目录 完整代码 总结 完整项目 前言   对于一个游戏来说,音效也是必不可少的一环,自然也不能少了. ...

  5. java游戏开发入门(八) -图像

    java游戏开发入门(八) - 图像 前言 图片资源 首先我们来改造一下我们的Player实体 方法说明 效果展示 完整项目 前言   前面那么多基本上一个游戏需要的逻辑就差不多了,但是看上去还非常丑 ...

  6. 游戏开发入门(七)特效系统

    视频链接:游戏开发入门(七)特效系统(6节课 时常:约2小时20分钟) 该视频课程与其他本系列的课程不太一样,因为在很多游戏或者很多引擎中并没有一个专门的"特效系统",而是把各种特 ...

  7. Java版AVG游戏开发入门示例 3 ——脚本引擎的制作及应用

    源码下载地址:http://code.google.com/p/loon-simple/downloads/list 根据wikipedia的解释:脚本语言(Script language,scrip ...

  8. Java版AVG游戏开发入门示例[3]——脚本引擎的制作及应用

    源码下载地址:http://code.google.com/p/loon-simple/downloads/list 根据wikipedia的解释:脚本语言(Script language,scrip ...

  9. 游戏开发入门(十二)游戏开发全总结

    通过游戏开发入门系列的学习,是不是对游戏开发有了一个比较清晰的认识? 在最后一篇里面,博主试着概括性的对游戏开发做一个总结,欢迎各位提出意见来完善这篇博客~ 游戏模块总结: 游戏逻辑模块系统:各种武器 ...

最新文章

  1. scrapy-splash抓取动态数据例子十三
  2. eb8000软件怎样上传_百度网盘如何免费上传超过4G的文件?BitComet来帮你!
  3. 1816. 截断句子
  4. 二元函数洛必达求极限_洛必达法则的几个例子
  5. PostgreSQL相关知识概念
  6. 英文书: Python 网络编程基础手册
  7. Python网页简单小爬虫
  8. SurfaceView浅析
  9. python快速入门神器 知乎_Python爬虫偷懒神器!快速一键生成Python爬虫请求头
  10. Java线程池的学习记录
  11. 冒泡排序图解+代码示例
  12. 冲激脉冲抽样定理matlab,信号抽样及抽样定理分析.doc
  13. 毕业设计之 --- 新闻分类系统
  14. Ubuntu 16.04下DNW的安装及使用
  15. ssl证书过期该怎么办?域名未过期证书却过期,该怎么办?
  16. Gartner丨 边缘计算成熟度曲线 2019
  17. Gradle 学习 ----Gradle 进阶说明
  18. unicloud.dcloud
  19. 美通社企业新闻汇总 | 2019.1.14 | 大陆旅客每次赴港平均消费超2万港元,欧舒丹9亿美元收购ELEMIS...
  20. linux远程开机wol,Wol在线远程开机、唤醒工具使用说明

热门文章

  1. [python,2018-06-25] 高德纳箭号表示法
  2. 平面设计转UI设计难吗?
  3. 高楼火灾的时候如何利用逃生缓降器进行逃生?
  4. 财务管理考研计算机,财务管理考研专业课包括什么
  5. MySQL数据库实操教程(15)——表的关联关系
  6. Android app ADB命令
  7. Android 批量打包 基于Walle的多渠道快速打包自动脚本
  8. 计算机专业主要学什么?
  9. 【面试题】从123456中取出三个数,取出三个不同数的概率是多少?
  10. 客户端连接linux的MySQL数据库出现被自己拒绝的错误