java游戏开发入门(十) -粒子特效
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游戏开发入门(十) -粒子特效相关推荐
- java游戏开发入门(二) - 菜单
java游戏开发入门(二) - 菜单 前言 编码 主菜单 游戏内菜单(按下ESC后出现,并会暂停游戏) 效果展示 主菜单 游戏内菜单 完整代码 完整项目 前言 上一章我们创建了一个600x600的 ...
- java游戏开发入门(六) - 变量 UI
java游戏开发入门(六) - 变量 & UI 前言 编码 首先我们创建一个变量 修改碰撞逻辑 初始化UI并将UI与变量绑定绑定 于是我们就得到了这样一个效果 完整代码 完整项目 前言 上 ...
- java游戏开发入门(七) - 计时器
java游戏开发入门(七) - 计时器 前言 函数说明 在一秒钟之后执行一次 每隔0.5秒执行一次 实例 目标效果 敌方实体 定时创建敌方实体 碰撞效果 效果展示 完整代码 HelloWorldApp ...
- java游戏开发入门(九) -音效
java游戏开发入门(九) - 图像 前言 音频资源 编码 首先完成BGM 紧接着完成音效部分 项目目录 完整代码 总结 完整项目 前言 对于一个游戏来说,音效也是必不可少的一环,自然也不能少了. ...
- java游戏开发入门(八) -图像
java游戏开发入门(八) - 图像 前言 图片资源 首先我们来改造一下我们的Player实体 方法说明 效果展示 完整项目 前言 前面那么多基本上一个游戏需要的逻辑就差不多了,但是看上去还非常丑 ...
- 游戏开发入门(七)特效系统
视频链接:游戏开发入门(七)特效系统(6节课 时常:约2小时20分钟) 该视频课程与其他本系列的课程不太一样,因为在很多游戏或者很多引擎中并没有一个专门的"特效系统",而是把各种特 ...
- Java版AVG游戏开发入门示例 3 ——脚本引擎的制作及应用
源码下载地址:http://code.google.com/p/loon-simple/downloads/list 根据wikipedia的解释:脚本语言(Script language,scrip ...
- Java版AVG游戏开发入门示例[3]——脚本引擎的制作及应用
源码下载地址:http://code.google.com/p/loon-simple/downloads/list 根据wikipedia的解释:脚本语言(Script language,scrip ...
- 游戏开发入门(十二)游戏开发全总结
通过游戏开发入门系列的学习,是不是对游戏开发有了一个比较清晰的认识? 在最后一篇里面,博主试着概括性的对游戏开发做一个总结,欢迎各位提出意见来完善这篇博客~ 游戏模块总结: 游戏逻辑模块系统:各种武器 ...
最新文章
- scrapy-splash抓取动态数据例子十三
- eb8000软件怎样上传_百度网盘如何免费上传超过4G的文件?BitComet来帮你!
- 1816. 截断句子
- 二元函数洛必达求极限_洛必达法则的几个例子
- PostgreSQL相关知识概念
- 英文书: Python 网络编程基础手册
- Python网页简单小爬虫
- SurfaceView浅析
- python快速入门神器 知乎_Python爬虫偷懒神器!快速一键生成Python爬虫请求头
- Java线程池的学习记录
- 冒泡排序图解+代码示例
- 冲激脉冲抽样定理matlab,信号抽样及抽样定理分析.doc
- 毕业设计之 --- 新闻分类系统
- Ubuntu 16.04下DNW的安装及使用
- ssl证书过期该怎么办?域名未过期证书却过期,该怎么办?
- Gartner丨 边缘计算成熟度曲线 2019
- Gradle 学习 ----Gradle 进阶说明
- unicloud.dcloud
- 美通社企业新闻汇总 | 2019.1.14 | 大陆旅客每次赴港平均消费超2万港元,欧舒丹9亿美元收购ELEMIS...
- linux远程开机wol,Wol在线远程开机、唤醒工具使用说明