| 赞 | 0 |
| VIP | |
| 好人卡 | |
| 积分 | 1 |
| 经验 | |
| 最后登录 | 2016-9-14 |
| 在线时间 | 73 小时 |
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 73 小时
- 注册时间
- 2016-4-6
- 回帖
- 39
|
发表于 2016-6-20 17:26:44
|
显示全部楼层
本帖最后由 iceBOXz 于 2016-6-20 18:32 编辑
這個腳本我打算用來做火星的效果 ( 木材燃燒時會向上彈出的一些發亮灰燼
我希望的情況是光點會在上升時 隨機向左或右 飛散消逝
最近才在學JS , 想問如果要加插一句opacity 要隨著 已移動的距離 減少
因為MV視窗是800x600 , 所以yReal=600就在畫面底部 , 畫面最右邊就是800
那我就需要寫 : opacity 在 yReal==600 的時候為255 , 並會隨著 [yReal的減少+xReal的改變]的總和 而 等比減少
yReal的減少 暫定為變數yN : 思路上是 yReal減600 乘-1 變正數 加去yN
xReal的改變 暫定為變數xN : 思路上是 xReal為負數時 將xReal乘-1變正數 加上去xN , xReal正數時就直接加去xN
以下數式暫定 :
第一個600為自定義數 , 希望火星不會一直都在畫面最頂透明消失 , 為500-1000之間的隨機數 , 後面的500是另一個自定義數 可以改
opacity = 255* {[600-(yN+xN)]/500}
而opacity最大為255 , if opacity>255 var opacity=255 (除此之外 , 還有沒有其他正式一些的方法定義某變數的最大值?)
之後要 定義xReal 和定義yReal不同 , 因為xReal不像yReal只會減少
var xReal = SceneManager._boxWidth 之後應該怎寫 它會隨機的向左或右 移動?
然後 , 飛出畫面的判定不難
if (xReal< -200 && > 1000 )
接下來 , 因為座標無論向左或右移動 也是移動 , 但在數字上 例如向左移動了10像素 又向右移動了15像素
難道是-10+15= 5?? ......不對吧.. 25才是移動了的距離 , 這裡又應該怎樣寫?
還是其實我思路一開始就錯了 , 只需在yReal內修改就行!?
----------------------------------------------------------------
附上PNG一張 , 可是我不知道實際效果如何 , 會不太亮太暗 , 連這個格式對不對也不知道 , 要我修改請通知我 , 你自行修改也可 |
|