查看: 1158|回复: 1
打印 上一主题 下一主题

雨滴落水实现代码(取自网上例子)

[复制链接]

2508

主题

2

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
32806
精华
12

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-8-7 10:29:58 |只看该作者 |倒序浏览
var particlesPerFixedUpdate = 1;

//声明三个料子发射器,

var rain : ParticleEmitter;

var ripple : ParticleEmitter;

var splash : ParticleEmitter;
private var tempParticles = 0;
/*function FixedUpdate ()

/{

tempParticles = particlesPerFixedUpdate;

while(tempParticles > 0)

{

Rain();

tempParticles --;

}

}

*/// I don't understand why we need the stuff above?

//执行下雨函数

function FixedUpdate ()

{

Rain();

}

//声明下雨函数

function Rain ()

{

//=====默认设置下,三个料子发射器处于关闭状态,并未发射料子。

//在xz平面上取得随机坐标点,y为20

pos = Vector3(Random.Range(-5.00, 5.00), 20 ,Random.Range(-5.00, 5.00));

//根据rain发射器的最大最小值区间取得随机值,生命值,开始发射料子。

size = Random.Range(rain.minSize, rain.maxSize);

lifetime = Random.Range(rain.minEnergy, rain.maxEnergy);

//料子发射器的一方法 。function Emit (pos : Vector3, velocity : Vector3, size : float, energy : float, color : Color) : void

rain.Emit(pos, rain.worldVelocity, size, lifetime, Color.white);

//等待1秒,改变y坐标,并设置相应的尺寸和生命时间,水波纹及小水花两个料子发射器开始发射料子。

yield WaitForSeconds(1);

pos.y = splash.transform.position.y;
size = Random.Range(ripple.minSize, ripple.maxSize);

lifetime = Random.Range(ripple.minEnergy, ripple.maxEnergy);

ripple.Emit(pos, ripple.worldVelocity, size, lifetime, Color.white);
size = Random.Range(splash.minSize, splash.maxSize);

lifetime = Random.Range(splash.minEnergy, splash.maxEnergy);

splash.Emit(pos, splash.worldVelocity, size, lifetime, Color.white);

}
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

2508

主题

2

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
32806
精华
12

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2012-8-7 10:50:26 |只看该作者

    哎呀~各位别光看不回帖啊~  支持下啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-1-31 20:56 , Processed in 0.063205 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部