una sumar suma pasar parametros para numeros funciones funcion flecha example ejemplo desde function random lua corona

function - sumar - Cómo asignar una función en Lua para un número generado aleatoriamente



javascript function parameters default value (2)

Primero guardé 10 imágenes en una matriz (es decir, una tabla) del 1 al 10 como valores clave y creo un número aleatorio usando la función math.random entre 0-9.
y necesito acceder a la imagen que está almacenada en la matriz por el valor creado por la función aleatoria, y asignar la función táctil solo para el archivo de imagen en particular.

Ex:

Si la función aleatoria crea el número como "5", necesito mover la imagen 5.png que está almacenada en el índice de la matriz como 5., otras imágenes, excepto la 5.png, no deberían usar la función táctil. (Es decir, no están permitidas) mover en la pantalla pero necesita mostrar en la pantalla)

Aquí está mi código:

local myText1 = display.newText(tostring(no1),130, 100, "Jokerman", 36); myText1:setTextColor(238,18,137) print("text value1 :",no1) local myText2 = display.newText(tostring(ran),130, 140, "Jokerman", 36); myText2:setTextColor(238,18,137) print("text value2 :",ran) result = no1 + ran; print("Result is:" ,result) local myres = result print("myresultant string is -->" ,myres) myres1 = myres % 10; myres2 = math.floor(myres / 10); print(myres1) print(myres2) --assigning values dig1 = myres1 dig2 = myres2 function dig1:touch(event) local t = event.target -- printTouch(event) local phase = event.phase if phase == "began" then -- Make target the top-most object local parent = t.parent parent:insert(t) display.getCurrentStage():setFocus(t) -- This flag is to prevent spurious events being sent to the target t.isFocus = true -- Store initial position t.x0 = event.x - t.x t.y0 = event.y - t.y -- Make myObject temporarily kinematic event.target.bodyType = "kinematic" -- Stop current motion, if any event.target:setLinearVelocity(0,0) event.target.angularVelocity = 0 elseif t.isFocus then if phase == "moved" then t.x = event.x - t.x0 t.y = event.y - t.y0 elseif phase == "ended" or phase == "cancelled" then if currentTarget ~= nil and isHighlighted then -- Move piece to target transition.to(t,{ time = 150, x = currentTarget.x, y = currentTarget.y }) currentTarget = nil isHighlighted = false end display.getCurrentStage():setFocus(nil) t.isFocus = false -- Switch body type back to "static" event.target.bodyType = "static" end end return true end dig1:addEventListener("touch",dig1)


Probablemente necesites una lista de pares de claves para recuperar el índice n. °, o crear una matriz multidimensional (una para mantener el índice y otra para mantener el valor.

http://www.dotnetperls.com/keyvaluepair


Lo siento, todavía no tengo claro el problema. Pero no puede ser claro en los comentarios, por lo que intenta esta respuesta.

Esto es lo que creo que estás tratando de hacer, en un pseudocódigo:

-- init (startup) function touch(image) ... do something to image ... end function noTouch(image) end -- nothing to touch imageArray = table of 10 images each image in imageArray is of "class" Image for each image in imageArray do image.touch = noTouch -- a "do nothing" function end -- init completed -- later, this gets called: function touchRandomImage() index = random number between 1 and 10 (incl) moveImage = imageArray[index] moveImage.touch = yourTouchFunction end

Más tarde, cuando otro código llame a la imagen: toque () (o image.touch (imagen), lo mismo), solo la imagen seleccionada al azar como arriba utilizará la función táctil especial, todas las demás tendrán la función no hacer nada.

Si se puede llamar a touchRandomImage () varias veces, debe hacer un seguimiento de la imagen "anterior" seleccionada al azar para que pueda restablecer su campo táctil para que sea la función noTouch:

function touchRandomImage() -- prevIndex is a global, or a field etc if prevIndex ~= nil then imageArray[prevIndex].touch = noTouch prevIndex = nil -- in case exception etc newIndex = random number between 1 and 10 (incl) moveImage = imageArray[newIndex] moveImage.touch = yourTouchFunction prevIndex = newIndex end