Red de conocimiento informático - Espacio del host - Quiero crear un juego usando el motor Evkworld. ¿Cómo arrastro y suelto bloques en el juego?

Quiero crear un juego usando el motor Evkworld. ¿Cómo arrastro y suelto bloques en el juego?

Implementar arrastrar y soltar

Para realizar la función de arrastrar y soltar, primero debemos agregar la capacidad de arrastrar al objeto que se va a arrastrar y soltar

Después de agregar esto capacidad, el objeto puede seguir el movimiento del mouse

Fijar el objeto después de arrastrarlo a una posición fija

Primero, creamos un objeto de destino de arrastre y luego, cuando el objeto A deja de arrastrarse y se acerca al objetivo, fijamos el sprite A en el objetivo. Fija el sprite A en el punto objetivo.

Coloca tres objetivos de arrastre en la escena

Agrega una variable global: Determinar la distancia, que se utiliza para determinar la distancia del sprite A desde el objetivo de arrastre para poder arreglarlo

p>

A continuación, agregamos un evento que fijará el sprite A al objetivo si está lo suficientemente cerca del objetivo de arrastre al final del proceso de arrastre.

Se activa cuando se suelta el arrastre

Selecciona el punto de destino de arrastre más cercano al sprite A

Si el sprite A está lo suficientemente cerca del punto de destino de arrastre

abs(distancia(sprite A.x,sprite A.y,arrastrar punto objetivo.x,arrastrar punto objetivo.y))?x,y,drag-target.x,drag-target.y))?, abs toma el absoluto valor, distancia Calcula la distancia entre dos puntos

Establece la posición del sprite A en la posición del punto de destino de arrastre y desactiva la función de arrastre

Puedes ver el efecto obteniendo una vista previa del juego Cuando la distancia entre arrastrar el sprite A en el punto objetivo sea lo suficientemente cercana, suelta el mouse, el sprite A se fijará en la posición del punto objetivo y no se podrá arrastrar nuevamente

Cuando la distancia no sea la misma. suficiente. Regresar a la posición inicial

Primero, creamos las coordenadas iniciales de la variable de instancia bajo el sprite A

Inicializamos la variable de instancia al comienzo de la escena

Bajo el evento de liberación de arrastre Agregue un subevento: Regrese a las coordenadas iniciales cuando la distancia no sea suficiente

Vista previa del juego Cuando la distancia no sea suficiente, Elf A regresará a la posición inicial.

Añadir efecto de movimiento suave para volver a la posición inicial

A continuación, implementamos la función de movimiento suave a través de la expresión lerp. Primero, creamos el estado de retorno de la variable de instancia. Cuando el estado de retorno es 1, el objeto A regresará suavemente a la posición inicial.

Cuando hacemos clic y arrastramos, establecemos el estado de retorno en 0

Cuando soltamos el arrastre, modificamos la acción desde cambiar coordenadas hasta establecer el estado de retorno

Finalmente, cuando el estado de retorno = 1, regresa suavemente a la posición inicial

X:?lerp(spriteA.x, spriteA.initial coordenadas x,dt * 10)

X .?lerp(sprite A.y,sprite A.coordenada inicial y,dt * 10)

Los anteriores son todos los eventos en este tutorial. Los eventos generales son los siguientes: