⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 camera_shake.lua

📁 这是整套横扫千军3D版游戏的源码
💻 LUA
字号:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------  file:    camera_shake.lua--  brief:   Camera shakes--  author:  Dave Rodgers----  Copyright (C) 2007.--  Licensed under the terms of the GNU GPL, v2 or later.------------------------------------------------------------------------------------------------------------------------------------------------------------------function widget:GetInfo()  return {    name      = "CameraShake",    desc      = "Camera shakes",    author    = "trepan",    date      = "Jun 15, 2007",    license   = "GNU GPL, v2 or later",    layer     = 0,    enabled   = false  --  loaded by default?  }end------------------------------------------------------------------------------------------------------------------------------------------------------------------ Automatically generated local definitionslocal spSetCameraOffset      = Spring.SetCameraOffsetlocal spSetShockFrontFactors = Spring.SetShockFrontFactors----------------------------------------------------------------------------------------------------------------------------------------------------------------local exps = 0local shake = 0local powerScale = 200local decayFactor = 5local minArea  = 32  -- weapon's area of effectlocal minPower = (0.02 / powerScale)local distAdj  = 100----------------------------------------------------------------------------------------------------------------------------------------------------------------function widget:Initialize()  -- required for ShockFront() call-ins  -- (threshold uses the 1/d^2 power)  spSetShockFrontFactors(minArea, minPower, distAdj)endfunction widget:Shutdown()  spSetCameraOffset()endfunction widget:ShockFront(power, dx, dy, dz)  exps = exps + 1  power = power * powerScale  if (power > 10) then    power = 10  end  shake = shake + powerendlocal function birand(val)  return val * (1.0 - (0.002 * math.random(1000)))endfunction widget:Update(dt)  local t = widgetHandler:GetHourTimer()  local pShake = shake * 0.1  local tShake = shake * 0.025  local px, py, pz, tx, ty, tz =    birand(pShake),    birand(pShake),    birand(pShake),    birand(tShake),    birand(tShake)  spSetCameraOffset(px, py, pz, tx, ty)  local decay = (1 - (decayFactor * dt))  if (decay < 0) then    decay = 0  end  shake = shake * decayend----------------------------------------------------------------------------------------------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -