實現功能:
更改顯示方式為浮動顯示
實現即時渲染功能
rollout FErollout "火焰特效" width:180 height:245<br />(<br />button btn1 "火焰" pos:[12,20] width:140 height:30<br />bitmap bmp1 "" pos:[12,70] width:140 height:120<br />button btn2 "渲染預覽" pos:[51,205] width:64 height:21 </p><p>on btn1 pressed do<br />(<br />resetMaxFile #noprompt<br />global sgizmo = spheregizmo radius:80<br />vf = fire_effect()<br />addAtmospheric(vf)<br />appendGizmo vf sgizmo<br />cam = freeCamera pos:[0,180,0] target:(targetObject())<br />max vpt camera</p><p>)<br />on btn2 pressed do<br />(<br />view = render outputwidth:140 outputheight:120 vfb:off<br />bmp1.bitmap = view<br />)<br />)<br />rollout r1 "參數調節" width:180 height:245<br />(<br />spinner sp1 "濃烈程度: " pos:[40,3] width:133 height:16 range:[0,50,15] type:#float</p><p>slider sl1 "火焰大小: " pos:[40,28] width:136 height:44 range:[0,100,80]</p><p>on sp1 changed spValue do<br />(<br />vf.density = spValue<br />if spValue <= 15 then<br />(<br />vf.inner_color = color 252 252 0<br />vf.outer_color = color 225 30 30<br />) else if spValue >30 then<br />(<br />vf.inner_color = color 253 255 94<br />vf.outer_color = color 144 126 255<br />) else<br />(<br />vf.inner_color = color 253 255 94<br />vf.outer_color = color 225 129 129<br />)<br />)<br />on sl1 changed slValue do<br />(<br />sgizmo.radius = slValue<br />)<br />on sp1 buttonup spVaue do<br />(<br />view = render outputwidth:140 outputheight:120 vfb:off<br />FErollout.bmp1.bitmap = view<br />)<br />on sl1 buttonup do<br />(<br />view = render outputwidth:140 outputheight:120 vfb:off<br />FErollout.bmp1.bitmap = view<br />)<br />)</p><p>FEFloater = newRolloutFloater "火焰特效浮動顯示" 300 400<br />addRollout FErollout FEFloater<br />addRollout r1 FEFloater<br />
效果如下: