猫史档案馆


【教程】如何做出大雾时浓时淡的效果?(水帖)

用户:文件传输助脚文件传输助脚查看:0 回复:3 评论:0 创建时间:2020-07-06T15:04:36


-----------------------------------------------有分割线的不一定是好帖子,但是好帖子是必须有分割线的-------------------------------------

先看下API世界那一章节:

控制世界的天气 fogColor

• fogColorBox3RGBColor<> = new Box3RGBColor(1, 1, 1)

控制雾的颜色

示例代码

world.fogColor.set(0.1, 0.5, 0.2) //将雾的颜色设为绿色
fogStartDistance

• fogStartDistancenumber = 0

示例代码

world.fogStartDistance = 2

雾开始的距离

fogHeightOffset

• fogHeightOffsetnumber = 0

示例代码

world.fogHeightOffset = 3

雾开始的高度

fogHeightFalloff

• fogHeightFalloffnumber = 0.8

示例代码

world.fogHeightFalloff = 0.3

雾衰减的速率,值为0到1,值越小,雾越浓。

fogUnifor喵ensity

• fogUnifor喵ensitynumber = 0

uniform fog 均匀雾的量,若值大于0,则看不见天空

maxFog

• maxFognumber = 1

雾含量的最大值

这些就是今天要用的东西,还有for let等一些萌新代码就不讲了

(async function(){
}

首先,先弄一个这个东西:异步函数(我没记错吧?)

然后放进一个

while (true) {
   
}

恩,就是:当条件(真)成立时重复执行

其实就是无限循环了(当然加了退出循环的除外)

world.say('大雾即将出现!');
await sleep(1000)
for(let i=5;i>1;--i){
    world.say('即将进入大雾模式,倒计时:' + i);
    await sleep(1000);
};

这个就是大雾之前的提醒啦!for let和await sleep我不想讲了,这么萌新……

        world.say('呼~呼~呼~')
        world.fogColor.set(10, 10, 10);
        world.fogStartDistance = 0;//大雾的起始距离
        world.fogHeightOffset = 40;//大雾的高度
        world.fogHeightFalloff = 0.3;//大雾的衰减
        world.fogUnifor喵ensity = 0.9;//大雾的均匀量
        world.maxFog = 0.9;//大雾的最大浓度
        await sleep(20000)
        world.say('游戏进入完全黑暗模式!')
        world.fogStartDistance = 0;
        world.fogHeightOffset = 100;
        world.fogHeightFalloff = 0.2;
        world.fogUnifor喵ensity = 1;
        world.maxFog = 1;
        await sleep(20000)
        world.say('大雾即将变小!')
        world.fogStartDistance = 0;
        world.fogHeightOffset = 40;
        world.fogHeightFalloff = 0.3;
        world.fogUnifor喵ensity = 0.9;
        world.maxFog = 0.9;
        await sleep(20000)
        world.say('大雾,退散了!')
        world.fogStartDistance = 0;
        world.fogHeightOffset = 0;
        world.fogHeightFalloff = 0;
        world.fogUnifor喵ensity = 0;
        world.maxFog = 0;
        await sleep(60000)

接下来这些API都有,我只是改了数据而已

所以,合起来就是:

(async function(){
    while (true) {
        world.say('大雾即将出现!');
        await sleep(1000)
        for(let i=5;i>1;--i){
            world.say('即将进入大雾模式,倒计时:' + i);
            await sleep(1000);
        };
        world.say('呼~呼~呼~')
        world.fogColor.set(10, 10, 10);
        world.fogStartDistance = 0;//大雾的起始距离
        world.fogHeightOffset = 40;//大雾的高度
        world.fogHeightFalloff = 0.3;//大雾的衰减
        world.fogUnifor喵ensity = 0.9;//大雾的均匀量
        world.maxFog = 0.9;//大雾的最大浓度
        await sleep(20000)
        world.say('游戏进入完全黑暗模式!')
        world.fogStartDistance = 0;
        world.fogHeightOffset = 100;
        world.fogHeightFalloff = 0.2;
        world.fogUnifor喵ensity = 1;
        world.maxFog = 1;
        await sleep(20000)
        world.say('大雾即将变小!')
        world.fogStartDistance = 0;
        world.fogHeightOffset = 40;
        world.fogHeightFalloff = 0.3;
        world.fogUnifor喵ensity = 0.9;
        world.maxFog = 0.9;
        await sleep(20000)
        world.say('大雾,退散了!')
        world.fogStartDistance = 0;
        world.fogHeightOffset = 0;
        world.fogHeightFalloff = 0;
        world.fogUnifor喵ensity = 0;
        world.maxFog = 0;
        await sleep(60000)
    }
})();

这里面的代码将在喵城混战(喵之战)里面出现,敬请期待哦,对了记得遵守GPL协议,不知道这是啥的看着里:

https://baike.sogou.com/v16802喵22.htm;jsessionid=349D545E7C3BF370AC38699409DCF90B

鬼知道图文

鬼知道技术

鬼知道滑稽


回复

上一页1 页 / 共 1下一页
文件传输助脚文件传输助脚

代码原创于名字鬼知道,转载请联系作者,抄袭必究!

点赞0


评论


文件传输助脚文件传输助脚

***的屏蔽词系统,喵都是t m 

点赞0


评论


文件传输助脚文件传输助脚

        for(let i=5;i>0;--i){
            world.say('即将进入大雾模式,倒计时:' + i);
            await sleep(1000);
        };
//注意for let那个i要改成let i=5;i>0;--i哈

点赞0


评论