【问题标题】:on screen joystick controller math?屏幕操纵杆控制器数学?
【发布时间】:2018-01-13 23:13:32
【问题描述】:

我想在这个视频中制作类似的东西.. https://www.youtube.com/watch?v=Em4Qa09-y90 但我的问题是.. 当我将鼠标移出黄色圆圈时.. 视频上的红色控制器将完全停止移动,我希望控制器仍然面向我的鼠标位置,即使我的鼠标不在黄色圆圈内。 .

    cx = 250
    cy = 250
    a = 0
    b = 0
    c = 0
    curx = 0
    cury = 0
    dir = 0
    lg = graphics
    lm = mouse
end

function update()
    a = cx
    b = cy
    c = math.sqrt(math.pow(250 - lm.getX(), 2) + math.pow(lm.getY() - 250, 2))
    dir = math.atan2(250 - cx, cy - 250)

    if c < 200 then
        cx = lm.getX()
        cy = lm.getY()
    end
end

function draw()
    lg.setColor(0,0,0, 127.5)
    lg.circle("fill", cx, cy, 50)
    lg.print(c)
end

屏幕宽高为250 lm.getX()lm.getY()是获取鼠标的x和y位置 sqrt = 平方根 pow = 电源

【问题讨论】:

  • 考虑重新格式化问题文本以使代码可读,考虑验证代码是有效的 lua 代码,考虑提及您正在使用的框架。

标签: math lua


【解决方案1】:

替换

if c < 200 then
    cx = lm.getX()
    cy = lm.getY()
end

local k = c > 200 and 200 / c or 1
cx = (lm.getX() - 250) * k + 250
cy = (lm.getY() - 250) * k + 250

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 2020-01-05
    • 2015-08-14
    相关资源
    最近更新 更多