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

📄 gui_mousetrail.lua

📁 这是整套横扫千军3D版游戏的源码
💻 LUA
字号:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------  file:    gui_mousetrail.lua--  brief:   displays an annoying mouse trail--  author:  Dave Rodgers----  Copyright (C) 2007.--  Licensed under the terms of the GNU GPL, v2 or later.------------------------------------------------------------------------------------------------------------------------------------------------------------------function widget:GetInfo()  return {    name      = "MouseTrail",    desc      = "Mouse trail toy",    author    = "trepan",    date      = "Jan 8, 2007",    license   = "GNU GPL, v2 or later",    layer     = 0,    enabled   = false  --  loaded by default?  }end-------------------------------------------------------------------------------------------------------------------------------------------------------------------- Useless mouse trails--local gl = gl  --  use a local copy for faster accesslocal lifeTime = 1.0local head = nil  --  a linked list of timestamped verticeslocal timer = 0local mxOld, myOld = Spring.GetMouseState()function widget:DrawScreen()  -- adjust timer  local timer = widgetHandler:GetHourTimer()    -- check for current mouse position  local mx,my,lmb,mmb,rmb = Spring.GetMouseState()  if ((mx ~= mxOld) or (my ~= myOld)) then    -- add a new point  (this defines the node format)    if (head == nil) then      head = { head, mxOld, myOld, timer + lifeTime - 0.001 }    end    head = { head, mx, my, timer + lifeTime - 0.001 }    mxOld, myOld = mx, my  end    -- collect the active vertices (and cull the old ones)  local elements = {}  local h = head  while h do    local timeLeft = math.mod((h[4] - timer) + 3600.0, 3600.0)    if (timeLeft > lifeTime) then      if (h == head) then        head = nil      end      h[1] = nil    else      local tf = (timeLeft / lifeTime)      local ntf = (1.0 - tf)      table.insert(elements, {        v = { h[2], h[3] },        c = { tf, 0.5 * ntf, ntf, tf }      })    end    h = h[1]  -- next node  end    -- draw the lines  gl.LineStipple(2, 4095)  gl.LineWidth(2.0)  gl.Shape(GL.LINE_STRIP, elements)  gl.LineWidth(1.0)  gl.LineStipple(false)end

⌨️ 快捷键说明

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