All pastes #1362038 Raw Edit

analog.lua

public lua v1 · immutable
#1362038 ·published 2009-03-16 07:08 UTC
rendered paste body
center = {160, 112}size = {64, 64}sizehalf = {size[1] / 2, size[2] / 2}xinterval = 1yinterval = 1xcounter = 1ycounter = 1xoffset = 0yoffset = 0input_state = {}gui.register( function()	-- gui.text(0, 0, "xoffset: " .. xoffset)	-- gui.text(0, 7, "yoffset: " .. yoffset)	-- gui.text(0, 14, "xinterval: " .. xinterval)	-- gui.text(0, 21, "yinterval: " .. yinterval)		gui.box(		center[1] - sizehalf[1], center[2] - sizehalf[2],		center[1] + sizehalf[1], center[2] + sizehalf[2],		{255, 255, 255, 45}, {255, 255, 255, 127})		gui.line(center[1] - 5, center[2], center[1] + 5, center[2])	gui.line(center[1], center[2] - 5, center[1], center[2] + 5)end)gens.registerbefore( function()	input_state = input.get()	xoffset = -(center[1] - input_state.xmouse)	yoffset = -(center[2] - input_state.ymouse)		if input_state.leftclick then		xinterval = math.abs(sizehalf[1] - math.abs(xoffset)) - 10		yinterval = math.abs(sizehalf[2] - math.abs(yoffset)) - 10				if xinterval < 1 then xinterval = 1 end		if yinterval < 1 then yinterval = 1 end				if xoffset < 0 then			if xcounter >= xinterval then				xcounter = 1				joypad.set(1, {left=true})			end						xcounter = xcounter + 1		elseif xoffset > 0 then			if xcounter >= xinterval then				xcounter = 1				joypad.set(1, {right=true})			end						xcounter = xcounter + 1		end				if yoffset < 0 then			if ycounter >= yinterval then				ycounter = 1				joypad.set(1, {up=true})			end						ycounter = ycounter + 1		elseif yoffset > 0 then			if ycounter >= yinterval then				ycounter = 1				joypad.set(1, {down=true})			end						ycounter = ycounter + 1		end	endend)