猫史档案馆


【代码岛3.0内测第13弹!】官网更新!粒子特效!

用户:神岛吉吉喵神岛吉吉喵查看:282 回复:203 评论:282 创建时间:2020-06-05T19:32:57


六月第一周,

代码岛3.0爆肝双更!

三大更新登场!

1. 官网升级!

center_image

box3.codemao.cn

全新界面

更清新、更快捷,

增加「热门」板块,

优先展示喵的地图和模型。

(新版网页在持续开发中,

有bug请留言给吉吉喵~)

 

2. 粒子特效!

center_image

大家呼唤的粒子特效来啦!

可用代码产生粒子特效,

任意调整其变化的颜色、速度、时间、方向等等

从而产生各种奇妙的特效

例如,上图的恐龙喷火

代码如下:

//本函数可以做出喷火粒子特效
//entity: 发出喷火特效的实体
//direction: Box3Vector3 喷火特效的朝向
//time: 喷火持续时间毫秒 [on, off, on, ..]

async function fireFromEntity (entity, direction, time = [1000]) {
    const multiplier = 10;
    const newVec = direction.mul(new Box3Vector3(multiplier, multiplier, multiplier));
    const particlesOut = 500;

    Object.assign(entity, {
        breathsFire: true,
        collides: false,
        gravity: false,
        fixed: true,

        // 基本粒子参数
        particleRate: particlesOut,//每秒产生的粒子数
        particleRateSpread: 0,//每秒产生粒子数的随机变化
        particleLimit: particlesOut,//粒子的总数量上限
        particleLifetime: 1.5,//每个粒子平均存活时间1.5秒
        particleLifetimeSpread: 0.5,//每个粒子存活时间的随机变化值
        particleSize: [3, 4, 5, 8, 22],//粒子大小按时间变化的模式,可设置5个值
        particleSizeSpread: 0,
        particleColor: [//粒子颜色随时间变化的模式,可设5个值
                new Box3RGBColor(10, 9, 2),//3个值分别代表红光、绿光、蓝光的含量,大小为0到正无穷
                new Box3RGBColor(10, 0.25, 0.1),
                new Box3RGBColor(10, 0.05, 0.05),
                new Box3RGBColor(10, 0.05, 0.05),
                new Box3RGBColor(10, 0.05, 0.05),
            ],
        particleAcceleration: new Box3Vector3(0, 2.5, 0),
        particleNoise: 8,
        particleNoiseFrequency: 10,
        particleVelocity: newVec,
        particleDamping: 0.5,
    });

    // 喷火特效持续时间毫秒 [on, off, on, ..]
    while (time.length > 0) {
        waitTime = time.shift();
        await sleep(waitTime);
        if (!entity.particleRate) {
            entity.particleRate = particlesOut;
        } else {
            entity.particleRate = 0; 
        }
        entity.breathsFire = !entity.breathsFire;
    }
}

 

传送门特效

center_image

代码如下:

//本函数可产生从下往上升的粒子特效
//entity是发出粒子特效的实体,可为模型或玩家
//color是粒子特效变化的颜色,可设置5个值
//time是特效持续时间,单位为毫秒

async function aura(entity, color = [
        new Box3RGBColor(0.033, 1, 10), //3个值分别代表红光、绿光、蓝光的含量,大小为0到正无穷
        new Box3RGBColor(10, 0.025, 10), 
        new Box3RGBColor(0.05, 1, 10),
        new Box3RGBColor(10, 0.5, 10),
        new Box3RGBColor(0.2, 1, 10)
    ], time=1000) {

    // 设置粒子特效参数
    entity.particleRate = 500;//实体每秒产生粒子的数量
    entity.particleLimit = 500;//产生的粒子总数的上限
    entity.particleLifetime = 0.8;//每颗粒子的存活时间,以秒为单位
    entity.particleSize = [5,3,5,3,5];//粒子大小按时间变化的模式,平均分为5个阶段
    entity.particleSizeSpread = 2;//粒子大小的随机变化范围
    entity.particleColor = color;//随时间变化的粒子颜色,同样分为5个阶段
    entity.particleAcceleration = new Box3Vector3(0, 1, 0);//粒子的加速度,是竖直向上的
    entity.particleNoise = 5;//粒子运动随机偏离的大小
    entity.particleNoiseFrequency = 10;//粒子随机偏离的频率
    entity.particleVelocity = new Box3Vector3(0, 5, 0);//粒子的初速度

    // 让粒子特效在经历时间time(ms)后停止
    await sleep(time);//静待一段时间,time是输入的参数,默认值为1000毫秒
    entity.particleRate = 0;//将产生粒子的数量设为0,也就是停止粒子特效
    entity.particleLimit = 0;//将产生粒子上限数量设为0
}

了解粒子特效开发API详情:

https://docs.box3.codemao.cn/

(看《实体》那一章)

为了更好呈现粒子特效,

推荐打开:画质设定>后期处理>荧光效果)

 

3. 代码模块!

center_image

现在支持在每个地图,

添加多个js脚本了!

这样就方便将常用的函数,

例如存档点、pvp等做成模块,

方便重复调用。

模块怎么使用呢?

和CommonJS规范一致。

就以上面两个粒子特效为例,

第一步

//新建一个叫做effects.js的脚本
//将上面两个粒子特效函数都写进去
//重要:在脚本末尾加上下面这段!!

module.exports = {
    aura,//传送特效函数名称
    fireFromEntity,//喷火特效函数名称
}

第二步

//在地图的主要脚本中,加上这句,就能调用啦!
//注意文件名要写对!
const effects = require('./effects.js');

emotion_编程猫_紧张

你会了吗?

 

了解更多请搜索:

CommonJS 模块化

 

Q:如何将编辑器更新到最新版本?

关闭编辑器

让所有人离开

静待3分钟。

若更新失败,请将编辑器链接发给吉吉喵。

 

加入代码岛3.0官方内测Q喵

代码岛3.0官网:box3.codemao.cn

 

关于编辑器资格申请

emotion_编程猫_加油

目前暂不接收新的申请,

请等待新的通知,

或者留意新帖子的随缘赠送。


回复

上一页1 页 / 共 7下一页
幻想的流星幻想的流星

沙发

点赞0


评论


datacatdatacat

板凳

点赞0


评论


datacatdatacat

没抢到沙发呜呜呜

点赞0


评论


我叫zzt我叫zzt

天花板

点赞0


评论


wangjunjiecwangjunjiec

差一点

点赞0


评论


不起眼的账号不起眼的账号

我觉得编辑器资格吉吉喵先考虑考虑

点赞0


评论


BSS梅者如西BSS梅者如西

板凳

点赞0


评论


春絮春絮

前排!

点赞0


评论


波仔看世界波仔看世界

板凳没了

点赞0


评论


Ken李Ken李

啊啊

点赞0


评论


NomandNomand

前排

点赞0


评论


穿风衣的猫穿风衣的猫

沙发

点赞0


评论


传说中的神眷传说中的神眷

emotion_编程猫_点赞

点赞0


评论


_Rise__Rise_

还热乎

点赞0


评论


她叫北白川她叫北白川

ohhhhh

点赞0


评论


未命名用户015734未命名用户015734

8分钟还热乎(今天的更新好激动)

点赞0


评论


芜湖咸鱼芜湖咸鱼

说好的粒子特效终于有了

点赞2


评论


蓝buff蓝buff

沙发

点赞0


评论


Architect_皮卡awaArchitect_皮卡awa

emotion_编程猫_厉害了

点赞0


评论


SGY酥安SGY酥安

8分钟前的吉吉喵,好烫手啊!

点赞0


评论


上辈子死于话多上辈子死于话多

板凳

点赞0


评论


可怜发不了评论了的张不二嘻可怜发不了评论了的张不二嘻

喵椅emotion_doge

点赞0


评论


wangjunjiecwangjunjiec

????????????????????????????????????????链接进不去

https://javascript.ruanyifeng.com/nodejs/module.h

点赞0


评论


NobelNobel

热乎着呢

点赞0


评论


猫悟淡猫悟淡

前排~

点赞0


评论


QAQ一只崽子QAQ一只崽子

只剩地板了,勉强挤一挤

点赞0


评论


南方一霸南方一霸

随缘编辑器https://box3create.codemao.cn/games/eed5f475d84bdaeacc7e

点赞0


评论


Lonely_wandererLonely_wanderer

沙发!

点赞0


评论


南方一霸南方一霸

随缘编辑器https://box3create.codemao.cn/games/1c41e370de35ee6c3aaf

点赞0


评论


神兽喵神兽喵

怎么删

点赞0


评论