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

📄 gui_loadscreens.lua

📁 这是整套横扫千军3D版游戏的源码
💻 LUA
字号:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------  file:    gui_loadscreens.lua--  brief:   view the mod loadscreens--  author:  Dave Rodgers----  Copyright (C) 2007.--  Licensed under the terms of the GNU GPL, v2 or later.------------------------------------------------------------------------------------------------------------------------------------------------------------------function widget:GetInfo()  return {    name    = "LoadScreens",    desc    = "View the mod's loadscreens",    author  = "trepan",    date    = "May 28, 2007",    license = "GNU GPL, v2 or later",    layer   = 0,    enabled = false  --  loaded by default?  }end----------------------------------------------------------------------------------------------------------------------------------------------------------------include('colors.h.lua')include("keysym.h.lua")local minScale = 0.2local images = {}local imageNum = 0local maximized = falselocal imagePrefix = ''  --  ':g:'--------------------------------------------------------------------------------local vsx, vsylocal xMin, xMax, yMin, yMaxfunction widget:ViewResize(viewSizeX, viewSizeY)  vsx = viewSizeX  vsy = viewSizeY  xMin = vsx * (0.5 - minScale)  xMax = vsx * (0.5 + minScale)  yMin = vsy * (0.5 - minScale)  yMax = vsy * (0.5 + minScale)endwidget:ViewResize(widgetHandler:GetViewSizes())--------------------------------------------------------------------------------function widget:Initialize()  images = VFS.DirList('bitmaps/loadpictures/', '*')  if (#images <= 0) then    Spring.Echo('no loadscreens to view')    widgetHandler:RemoveWidget()    return  end  table.sort(images)  imageNum = 1endfunction widget:Shutdown()  if (imageNum >= 1) then    gl.DeleteTexture(imagePrefix .. images[imageNum])  endend--------------------------------------------------------------------------------local function NextImage()  local nextNum = imageNum + 1  if (nextNum > #images) then    nextNum = 1  end  if (nextNum ~= imageNum) then    gl.DeleteTexture(imagePrefix .. images[imageNum])  end  imageNum = nextNumend  local function PrevImage()  local nextNum = imageNum - 1  if (nextNum < 1) then    nextNum = #images  end  if (nextNum ~= imageNum) then    gl.DeleteTexture(imagePrefix .. images[imageNum])  end  imageNum = nextNumend  function widget:IsAbove(x, y)  if (maximized) then    return true  end  if ((x >= xMin) and (x <= xMax) and      (y >= yMin) and (y <= yMax)) then    return true  end  return falseendfunction widget:MousePress(x, y, button)  if (maximized or widget:IsAbove(x, y)) then    if (button == 3) then      NextImage()      return true    elseif (button == 1) then      PrevImage()      return true    else      local a,c,m,s = Spring.GetModKeyState()      if (c) then        widgetHandler:RemoveWidget()        return true      end      maximized = not maximized    end    return true  end  return falseendfunction widget:KeyPress(key, mods, isRepeat)  if (key == KEYSYMS.ESCAPE) then    widgetHandler:RemoveWidget()  endendfunction widget:GetTooltip(x, y)  local nl_grey = '\n\255\180\180\180'  return 'LoadScreen: ' .. '\255\224\224\128' .. images[imageNum]         ..nl_grey..'Left Click:      previous image'         ..nl_grey..'Middle Click:  maximize (toggle)'         ..nl_grey..'Right Click:     next image'end----------------------------------------------------------------------------------------------------------------------------------------------------------------function widget:DrawScreen()  gl.Blending(false)  gl.Texture(imagePrefix .. images[imageNum])  if (maximized) then    gl.Color(1, 1, 1)    gl.TexRect(0, 0, vsx, vsy)  else        local b    gl.Texture(false)    b = 6    gl.Color(0, 0, 0)    gl.TexRect(xMin - b, yMin - b, xMax + b, yMax + b)    b = 4    gl.Color(1, 1, 1)    gl.TexRect(xMin - b, yMin - b, xMax + b, yMax + b)    b = 2    gl.Color(0, 0, 0)    gl.TexRect(xMin - b, yMin - b, xMax + b, yMax + b)    gl.Texture(true)    gl.Color(1, 1, 1)    gl.TexRect(xMin, yMin, xMax, yMax)    gl.Blending(true)    local xMid = 0.5 * (xMin + xMax)    gl.Text(GreenStr .. images[imageNum], xMid , yMax + 25, 20, 'oc')    local ti = gl.TextureInfo(images[imageNum])    if (ti) then      gl.Text(CyanStr .. ti.xsize ..              YellowStr .. ' x ' ..              CyanStr .. ti.ysize,              xMid , yMax + 7, 15, 'oc')    end  end  gl.Texture(false)  gl.Blending(true)end----------------------------------------------------------------------------------------------------------------------------------------------------------------

⌨️ 快捷键说明

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