バーチャルキャスト公式Wiki
メニュー
Steam版
デバイス
アセット
配信
その他
リリース情報
- wiki編集者用ページ
-
以前のリビジョンの文書です
色と光の形状を変更できるライトです。
色と光それぞれの状態を同期変数を定義することで、ユーザー間で同期するようになっています。
ライトの先端黒い部分をonUseするとライトの光が拡縮アニメーションをします。
ライトの後方白い部分をonUseするとライトの色が変化します。
local state=0 --0みじかい 1ながい local color_state=0 --0 白 他 色の状態 local to_color = Color.__new(1,0,0,1)--オリジナルカラー function onUse(use) --同期処理-------------------------------- if vci.state.Get("STATE")==nil then--状態 stateの同期 vci.state.Set("STATE",state) else state=vci.state.Get("STATE")--使った時に同期変数で同期取得 end if vci.state.Get("COLOR_STATE")==nil then--状態 light_stateの同期 vci.state.Set("COLOR_STATE",color_state) else color_state=vci.state.Get("COLOR_STATE")--使用時に同期変数で同期取得 end --光の形状の状態------ベース部分をつかんだ場合の処理--------------- if use=="light_forstage" then print("base_grab_OK")--------------- if state==0 then vci.assets._ALL_PlayAnimationFromName("light_long",false) state=1 vci.state.Set("STATE",state) elseif state==1 then vci.assets._ALL_PlayAnimationFromName("light_short",false) state=0 vci.state.Set("STATE",state) end end --ライトコントローラーをつかんだ場合の処理------------------------- if use=="light_controller" then color_state=color_state+1 print("light_grab_OK")--------------- if color_state>7 then color_state=0--オリジナルカラーに end vci.state.Set("COLOR_STATE",color_state)--同期 if color_state==0 then to_color = Color.__new(1,1,1,0.2)--オリジナルカラー vci.assets._ALL_SetMaterialColorFromName ("light_light",to_color) vci.assets._ALL_SetMaterialColorFromName ("light_noshadow",to_color) elseif color_state==1 then to_color = Color.__new(1,0,0,0.2)--red vci.assets._ALL_SetMaterialColorFromName ("light_light",to_color) vci.assets._ALL_SetMaterialColorFromName ("light_noshadow",to_color) elseif color_state==2 then to_color = Color.__new(1,0.65,0,0.2)--orange vci.assets._ALL_SetMaterialColorFromName ("light_light",to_color) vci.assets._ALL_SetMaterialColorFromName ("light_noshadow",to_color) elseif color_state==3 then to_color = Color.__new(1,1,0,0.2)--yellow vci.assets._ALL_SetMaterialColorFromName ("light_light",to_color) vci.assets._ALL_SetMaterialColorFromName ("light_noshadow",to_color) elseif color_state==4 then to_color = Color.__new(0,0.5,0,0.2)--green vci.assets._ALL_SetMaterialColorFromName ("light_light",to_color) vci.assets._ALL_SetMaterialColorFromName ("light_noshadow",to_color) elseif color_state==5 then to_color = Color.__new(0,1,1,0.2)--blue vci.assets._ALL_SetMaterialColorFromName ("light_light",to_color) vci.assets._ALL_SetMaterialColorFromName ("light_noshadow",to_color) elseif color_state==6 then to_color = Color.__new(0,0,1,0.2)--indigo vci.assets._ALL_SetMaterialColorFromName ("light_light",to_color) vci.assets._ALL_SetMaterialColorFromName ("light_noshadow",to_color) elseif color_state==7 then to_color = Color.__new(0.5,0,0.5,0.2)--violet vci.assets._ALL_SetMaterialColorFromName ("light_light",to_color) vci.assets._ALL_SetMaterialColorFromName ("light_noshadow",to_color) else ----何もしない end end----------- end