Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Temas - pepecajon

1
Hola a todos,

Estoy haciendo algunas pruebas de juegos de plataformas, y me gustaría que cuando mi personaje toque el suelo tras un salto reproduzca un sprite de toque con el suelo (ponga las manos en el suelo) y luego recupere la posición habitual (el sprite habitual).

Se me ocurre que al saltar cambia una variable salto a 1.

A la colisión con suelo chequee la variable salto, si esta en 0 (no está saltando, no haga nada) pero si está en 1 (acaba de volver de un salto), cambie sprite por el sprite de tocar el suelo, pero no se como hacer para enlazar este con el habitual una vez se haya reproducido, ¿un timer quizá?.

Gracias a todos  ;)
2
Hola a todos,

He visto que GM utiliza por defecto pantallas de 640x480 pixeles, lo cual es muy muy pequeño para los estándares actuales; además cuando testeo mis pruebas en fullscreen, al resizear la pantalla los sprites pierden mucha calidad. Se me plantean dos opciones:

1. Que exista algún código que al pasar al fullscreen modifique eventualmente la resolución de la pantalla para ajustarla a 640x480 ¿se puede hacer esto?  :-[

2. Utilizar una resolución más conveniente para los estándares actuales: aquí pego un enlace al respecto http://www.desarrolloweb.com/de_interes/ranking-resoluciones-pantalla-enero-2012-6558.html

Entonces se me crea una duda, si por ejemplo creo un juego a 1024 x 768, ¿sobrecargará la RAM si hay muchos elementos en pantalla o para el 2D esto no llega a ocurrir realmente?.

¿Qué haceis vosotros con vuestra resolución?,
Gracias por adelantado  ;)
3
Hola a todos,

Estoy experimentando con GM :D - después de lo básico (evita las bolas que rebotan y tal), quiero hacer un juego en el que una pelota se mueve según la dirección y el tiempo que dejes pulsado el botón:

EDIT5 (Código final):

En create:
Código:
vertical=0
horizontal=0


Set Friction: 0.7

En step:
Código:
if vertical>20 vertical=20
if horizontal>20 horizontal=20
if vertical<-20 vertical=-20
if horizontal<-20 horizontal=-20

(esto es para limitar la velocidad, en este caso, el desplazamiento horizontal y vertical por encima y por debajo)


Key left (cuidado aquí que son keys, no keys pressed, ya que el key pressed realiza el evento una sola vez aunque lo deje pulsado, y aunque este en relative no se va a ir sumando)
Set variable horizontal relative to -2

Key right
Set variable horizontal relative to 2

Key up
Set variable vertical relative to -2

Key down
Set variable vertical relative to 2

Release left
Set the horizontal speed = horizontal (osea, velocidad variable horizontal)
Set variable horizontal no relative to 0 (esto sirve para que se ponga el contador de velocidad a cero, esto es muy importante, sino, pj, dejas pulsado derecha, sueltas, sale a 20; pulsas izquierda un poco y sueltas, y saldrá a derecha de nuevo, pq la horizontal estará en 15 o por ahí)

Release right
Set the horizontal speed = horizontal
Set variable horizontal no relative to 0

Release up
Set the vertical speed = vertical
Set variable vertical no relative to 0

Release down
Set the vertical speed = vertical
Set variable vertical no relative to 0

EDIT ANTERIOR:

[spoiler]- Objeto pelota y objeto muro para que la pelota colisiona (obvio).

Pero vayamos a la chicha, al objeto pelota (he usado una mezcla de código y D&D ((soy novato))):

-Create:
Código: [Seleccionar]

vertical=0
horizontal=0


-Step:
Código: [Seleccionar]

if vertical>30 vertical=30
if horizontal>30 horizontal=30
if vertical<-30 vertical=-30
if horizontal<-30 horizontal=-30


-Press left: D&D set variable horizontal relative to -2
-Press right: D&D set variable horizontal relative to 2
-Press down: D&D set variable vertical relative to 2
-Press up: D&D set variable horizontal relative to 2

- Release left: D&D set the horizontal speed to horizontal
- Release right: D&D set the horizontal speed to horizontal
- Release up: D&D set the horizontal speed to vertical
- Release down: D&D set the horizontal speed to vertical

¿Qué he conseguido?: La pelota sale disparada al lugar donde se indica, PERO, no suma la velocidad dejando pulsado el botón más tiempo sino repitiendo la pulsación del botón.

Ejemplo: Pulso derecha, la pelota sale a la derecha a velocidad 2, pulse derecha mucho o poco antes de soltar.

¿Qué estoy haciendo mal?

Muchas gracias a todos!  :D[/spoiler]

[spoiler]ANTERIORES EDITS:

Hasta ahora lo que tengo en lo siguiente, para que la pelota se mueva a la derecha por ejemplo, tengo (de momento trabajo con los D&D):

En el objeto pelota:

- Con release left (lo hago con la tecla izquierda pq quiero darle el estilo tirachinas, que dejas pulsado el lado contrario al que realmente quieres lanzarlo)
1. jump to position (+5, 0) (edito: sobra, es redundante)
2. set the horizontal speed to 5

Ahora estoy pensando cómo hago para que cuando deje pulsada la tecla, según el tiempo que pase salga con más o menos velocidad, se me ocurre:

- Crear una variable potencia_(nombredirección)
- Con el evento keypress ir sumando milisegundos a la variable potencia, ¿cómo se hace? :(
- Con el evento release, sumar toda la potencia al set horizontal speed, ¿cómo se hace?
- Limitar la variable a un máximo, para que no sea infinita, ¿cómo se hace? (edito: estoy en ello en el tercer post de este hilo  XD)

Voy a investigar por mi cuenta a ver si encuentro la solución por mi cuenta, y si es así edito, si no lo hago es que sigo perdido, muchas gracias a todos  :P

EDIT: Vale, ya me he dado cuenta de que el jump to position en este caso sobra, con determinar la velocidad de movimiento en suficiente.  :-[

EDIT2: ¿Este sería el GML para poner un tope a la velocidad?:

if vspeed>10 vspeed=10


¿Dónde tendría que colocarlo? ¿en el evento create de la bola?.

Gracias

EDIT3: Lo he intentado poniéndolo en el create de la bola, y poniendo la velocidad vertical al pulsar up o down en relative, para ver si funcionaba, y no ha sido así :/ de hecho llega a coger tanta velocidad que termina atravesando el muro con el que debe rebotar. (algo hago mal)
[/spoiler]
4
Preguntas y respuestas / Novato, dudas iniciales
Noviembre 01, 2012, 06:34:53 PM
Hola a todos! este es mi primer post en Comunidad GM  8)

Habia tanteado con el GM mucho antes pero nunca me habia lanzado a la piscina hasta ahora, creo que GM es una buena oportunidad ahora que cuenta con el apoyo de Steam.

Tengo algunas dudas iniciales generales creo que va a ser mejor recogerlas todas en este post y no regar el foro de mensajes con preguntas simples (si me equivoco lo hago sin problema  :D), si no os importa la expongo enumeradas para que así sea más fácil responder:

1. He instalado el GM Studio desde Steam en Windows; ¿qué diferencias hay con el GM8?, ¿es más o menos recomendable usar esta versión?.

2. ¿Los proyectos que guardo en GM Studio puedo llevarmelos a otro ordenador sin problema simplemente copiando la carpeta donde está todo guardado?.

3. ¿Puedo publicar los juegos directamente a Steam? ¿o tienen que pasar por Greenlight? no tengo muy claro este punto.

4. ¿Está muy limitada la versión gratuita?, ¿vale la pena pagar la versión Pro o Master directamente mientras voy aprendiendo?, sobre todo por el hecho de que los proyectos que haga con la Free sean o no compatibles para pasarlo a un GM Studio de pago una vez que el proyecto esté más avanzado.

5. ¿Puedo cambiar la pantalla de carga de GM y el icono en la versión Free?, ¿hay limites a la hora de publicar un ejecutable con la versión Free?.

6. ¿Es realmente tan flexible como dice?: ¿Puedo publicar mi juego para ejecutable Win2, Mac, Steam, HTML5 etc.. ¿o esto no es tan así?

7. ¿Hay que pagar algo extra a Yoyo Games si decido sacar un proyecto comercial adelante en el futuro? (aka vender un juego)

8. ¿Hay planes de que se pueda exportar a las stores de las consolas?: PS, Xbox etc.. Molaría muchísimo  :-[

Y ahora algunas preguntas más técnicas, mas concretas:

9. ¿Cuándo cambio de un room a otra se mantienen las variables?.

10. ¿El programa carga todas las instancias de todas las rooms o solo las de la room en concreta?, por el tema de sobrecargar el juego o no con muchos niveles.

11. ¿Se pueden ordenar las rooms en grupos de modo que cuando pase de nivel pueda elegir digamos, una room random de este grupo o de este otro grupo?.

12. ¿Hay algún programa en el que pueda editar los sprites 2D como esqueletos y moverlo?, estilo, hago el pie del sprite con un esqueleto interno, lo muevo y guardo el resultado de los frames para que quede un movimiento natural no se si me explico.

Y de momento nada más, las siguientes dudas ya las publico post a post... Espero que GM me lleve a donde siempre he soñado y consiga hacer juegos que gusten! Mil gracias a todos por esta comunidad y encantado de aterrizar aquí  ;)