使用方法。。
(因為初學tjs的關係 使用上也盡其量地簡化了。)
範例1:
@psnowinit
@psnowopt
用完
@psnowuninit
最重要是 psnowinit 這一段:
初始化用的不是 elm, 而是靠一個叫 setProperties() 的func.
初始化後直接call opt 就可見效了。
function setProperties(
fileprefix, 圖片檔案名的前置詞
fileprefixMax, 圖片檔妹名的後置詞 例如如果有 snow_0 至 snow_100 的話就 fileprefix = "snow_" fileprefixMax= 100
ileft, itop, iwidth, iheight, 起始區域(0,-50,600, 50)即由(0,-50)起高闊(50, 600)的長方
fleft, ftop, fwidth, fheight,有效區域(0,0,600,800)即整個畫面皆有效,如果超出,該粒子就會重置
maxZ, minZ, (Layer.absolute 的最大最小值)
ialpha, falpha, (ialpha 為起始alpha值,falpha為最終alpha值,隨LifeTime改變)
minLife, maxLife, (LifeTime最大最小值,每次updateInterval減1,到0就重置)
minVelo, maxVelo, (速度最大最小值,每次updateInterval增加)
minAng, maxAng, (角度最大最小值,例180,190 就只會生成向左下偏下的粒子)
gInterval, (生成interval)
maxAtoneTime, (同時間最大生成數)
uInterval) (redraw, update 的interval)
//核心初始碼
@macro name="psnowinit"
@eval exp="particle_object1.setProperties('snow_', 4, 0, -50, Window.mainWindow.innerWidth, 50, 0, -50, Window.mainWindow.innerWidth, Window.mainWindow.innerHeight+50, 199999, 199999, 255, 255, -1, -1, 2, 3, 165, 195, 200, 25, 40)"
@eval exp="particle_object1.init(mp)"
@eval exp="particle_object2.setProperties('snow_', 2, 0, -50, Window.mainWindow.innerWidth, 50, 0, -50, Window.mainWindow.innerWidth, Window.mainWindow.innerHeight+50, 199998, 199998, 255, 255, -1, -1, 1, 2, 170, 190, 200, 25, 40)"
@eval exp="particle_object2.init(mp)"
@endmacro
我設立了4個particle_object, 分別為 particle_object1,2,3,4,
4個都可以同時調用。
由此可以產生出效為複雜的效果。以上只調用了2個,
一個為較大的粒子,速度較快,absolute 大一點。
一個為較小的粒子,速度較慢,absolute 小一點。
基本上因為初始有點複雜,所以建議事先寫好module,
要用時直接調用就可以了。
當然不要忘了在
func.ks
中的
@call storage=snow.ks
@call storage=rain.ks
@call storage=staffroll.ks
加入
@call storage=particle.ks
[
本帖最后由 alan0101 于 2007-7-3 22:55 编辑 ]