No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

16 Días
10 Hrs
26 Min
39 Seg
Curso de Ruby

Curso de Ruby

Simón Soriano

Simón Soriano

Overview Ruby 2D

24/39
Recursos

Aportes 21

Preguntas 10

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

para los que estén instalando esto hoy en día, con solo ejecutar el comando: “gem install ruby2d”, ya está.
Luego pueden crear un fichero: “nombre_del_fichero.rb” y lo ejecutan con “bundle exec ruby nombre_del_fichero.rb”.

Acá pueden ver el ejemplo:

http://www.ruby2d.com/learn/get-started/

Hola! para los que estén viendo esto en 2022 la versión de ruby2d es la ~0.11

gem "ruby2d", "~> 0.11.1"

bueno pues llevo 4 dias intentando instalar esta gema y no puedo, cabe mencionar que este es mi primer lenguaje de programacion que intento aprender y la verdad se me esta complicando pero demaciado porque la informacion esta muy pero muy incompleta, he tenido que salir a youtube y revisar informacion para solucionar las cosas mas basicas y sucede que tome el curso porque vaya una de las garantias de platzi por llamarlo asi, es que u puedes iniciar con cualquier lenguaje que te interese e cualquier momento, y creo que si, esto puede ser posible, perono con informacion a medias y respuestas que llegan despues de 5 meses, en serio ojala que lea alguien en platzi que pueda ayudar ya que creo que son varios los que tenemos duda al respecto y bueno ser haga una explicacion mas completa del tema.

La version para 09/2022 es :

gem 'ruby2d', '~> 0.11.3'

Hola, la versión de ruby2d al 4 de febrero del 2023 es el siguiente:

gem "ruby2d", "~> 0.12.1"

Bases de Ruby 2D


Para poder utilizar la librería de ruby2d escribimos en el Gemfile y instalarlo con el bundle install

gem 'ruby2d', '~> 0.9.4'

También podemos ejecutar el siguiente comando

gem install ruby2d

Ahora creamos un archivo y podemos probarlo con el siguiente código

require 'ruby2d'

# Set the window size
set width: 300, height: 200

# Create a new shape
s = Square.new

# Give it some color
s.color = 'red'

# Show the window
show

Es importante saber que en los sistemas en los que vamos a dibujar se utilizan sistemas de coordenadas, así que importante saber cómo funcionan.

# Podemos cambiar el color de nuestr dibujo con este método
s.color = '#00b7c2'

Que diferencia hay entre Ruby2D y Gosu?

Si ejecuto

bundle exec ruby snake.rb

me sale este error:

Could not find ast-2.4.0 in any of the sources

Pero si ejecuto ruby snake.rb todo funciona bien.

¿Porqué con bundle me genera error?

Aca les dejo una guia para quienes no han podido aun instalar la gema ni rails:

https://www.youtube.com/watch?v=IcloqYJeRi0

Si tienes problemas con la instalación o ejecución de ruby2d en WSL2 con Ubuntu puede ser que este comentario te ayude (Al final dejo los enlaces que yo seguí para solucionar el problema):
Problemas a considerar:

  • Caso 1: Tienes 2 versiones de Ruby distinta y no estas usando la correcta.
  • Caso 2: Te manda el siguiente error:
error: XDG_RUNTIME_DIR not set in the environment.
Error: (SDL_Init) No available video device
error: XDG_RUNTIME_DIR not set in the environment.
Error: (SDL_CreateWindow) No available video device
Error: (GL2 / SDL_GL_CreateContext) Video subsystem has not been initialized
Error: An OpenGL context could not be created

Caso 1: En mi caso fue porque quise utilizar rbenv para evitar problemas según yo, cuando ya había instalado ruby del comentario más votado:

sudo apt-get install ruby-full

Yo para evitar problemas desinstale e instale todo de nuevo. A través de los comandos:

sudo apt-get purge ruby rubygems
sudo apt-get purge bundler
sudo apt-get autoremove

Ojo: Yo no le se tanto al manejo de paquetes, pero parece ser que existe la posibilidad de desinstalar dependencias de otros paquetes en este proceso.

para instalar seguí de arriba para abajo la guía del github de rbenv: https://github.com/rbenv/rbenv#installation

Caso 2:
WSL realmente no tiene GUI, entonces es imposible para el crear la ventana con el cuadro que le sale a Simón.
Hay 2 soluciones parece:

  • Hacer update a Windows 11 donde WSL si tiene soporte para GUI. Yo no me fui por esa via, así que no estoy completamente seguro de que funcione.
  • Instalar xrdp, que parece ser un “Window Manager”. Esto te permitirá conectarte con “Remote Desktop” que viene instalado en Windows a tu maquina de ubuntu para tener acceso a un GUI.
    La verdad si es un rollo, pero es una solución si por X o Y necesitas quedarte en windows 10.
    Vas a ejecutar los siguientes comandos:
sudo apt install xrdp xfce4
sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini

Vas a editar el archivo de texto:

/etc/xrdp/startwm.sh

Vas a comentar las 2 últimas líneas (las que dicen Xsession) y añadir: exec startxfce4
Te va a quedar así el final del archivo:

#test -x /etc/X11/Xsession && exec /etc/X11/Xsession
#exec /bin/sh /etc/X11/Xsession
exec startxfce4

Casi para acabar, ejecutas el siguiente comando, que es el que permitirá que te conectes remotamente a esa maquina:

sudo service xrdp start

Finalmente, te conectas desde remote desktop a la siguiente dirección:

localhost:3390

Cuando entres, te va a pedir iniciar sesión. Tu usuario y contraseña son los mismos que en la terminal. Aquí tienes que seleccionar el método Xorg para iniciar sesión también.

Y listo, tienes acceso a tu ubuntu. Puedes dar click derecho en medio de la pantalla y donde dice “abrir terminal” abres la terminal que ya conoces 😄.

NUEVOS PROBLEMAS Ahora bien. Cuando logres desplegar el Cuadro del ejemplo del minuto 2:20. Lo desplegará pero indicará unos errores. Instalamos un GUI sin audio, los errores son por algo de audio parece ser.

El otro problema es más relevante. Si se bloquea la pantalla del GUI que ahora tenemos, tendremos que apagar el servicio desde nuestra terminal local y volverlo a prender, ya que sino se queda la pantalla en negro.
Entonces haríamos:
sudo service xrdp stop
sudo service xrdp start
Para apagarlo y prenderlo respectivamente.

Adjunto todos los enlaces que utilice a lo largo de buscar solución a esto.

https://stackoverflow.com/questions/70102644/ruby2d-not-working-in-wsl2-on-ubuntu-18-04-getting-error-no-available-video-d
https://askubuntu.com/questions/1252007/opening-ubuntu-20-04-desktop-on-wsl2/1365455#1365455
https://itectec.com/ubuntu/ubuntu-how-to-completely-remove-ruby-rails-gems/

Me pueden colaborar por favor me sale este error al instalar la gema.

C:…\Cursos Platzi\Curso Ruby Platzi\snake>bundle install
Fetching gem metadata from https://rubygems.org/
Resolving dependencies…
Using ast 2.4.0
Using bundler 2.0.1
Using hike 1.2.3
Using parser 2.3.3.1
Using sourcemap 0.1.1
Using opal 0.11.4
Fetching ruby2d 0.5.1
Installing ruby2d 0.5.1 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/ruby2d-0.5.1/ext/ruby2d
C:/Ruby25-x64/bin/ruby.exe -r ./siteconf20190325-11468-1ccf1pc.rb extconf.rb
which: no simple2d in (/c/Ruby25-x64/bin:/mingw64/bin:/usr/bin:/c/Program Files
(x86)/Common
Files/Oracle/Java/javapath:/c/ProgramData/Oracle/Java/javapath:/c/Program
Files/Broadcom/Broadcom 802.11 Network
Adapter/Driver:/c/WINDOWS/system32:/c/WINDOWS:/c/WINDOWS/System32/Wbem:/c/WINDOWS/System32/WindowsPowerShell/v1.0:/c/Program
Files (x86)/Windows Live/Shared:/c/Program Files
(x86)/GtkSharp/2.12/bin:/c/Program
Files/Git/cmd:/c/PostgreSQL/pg10/bin:/c/Program
Files/PuTTY:/c/WINDOWS/System32/OpenSSH:/c/xampp/php:/c/ProgramData/ComposerSetup/bin:/c/Ruby25-x64/bin:/c/Ruby24-x64/bin:/c/Users/DavidRestrepo/AppData/Local/Microsoft/WindowsApps:/c/Users/DavidRestrepo/AppData/Roaming/Composer/vendor/bin)
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.

Provided configuration options:
–with-opt-dir
–without-opt-dir
–with-opt-include
–without-opt-include=${opt-dir}/include
–with-opt-lib
–without-opt-lib=${opt-dir}/lib
–with-make-prog
–without-make-prog
–srcdir=.
–curdir
–ruby=C:/Ruby25-x64/bin/$(RUBY_BASE_NAME)

<h1>== Ruby 2D Installation Errors</h1>

Ruby 2D uses a native library called Simple 2D, which was not found.
To install, follow the instructions at ruby2d.com/learn

=======================================================================

extconf failed, exit code 1

Gem files will remain installed in
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/ruby2d-0.5.1 for inspection.
Results logged to
C:/Ruby25-x64/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/ruby2d-0.5.1/gem_make.out

An error occurred while installing ruby2d (0.5.1), and Bundler cannot continue.
Make sure that gem install ruby2d -v '0.5.1' --source 'https://rubygems.org/'
succeeds before bundling.

In Gemfile:
ruby2d

Yo estaba intentando correr esto con una versión un poco antigua: Ruby 2.5.3. Sin embargo, me estaba dando el tipico error que está en los comentarios, actualicé a la 2.7.5 y funciono perfecto.

Pdta: Estoy usando Windows 11.

para enero del 2022 y si usas ruby 3.0 solo necesitas ejecutar desde tu terminal gem install ruby2d y luego creas un archivo dentro de la carpeta archivo_nuevo.rb y luego lo ejecutas desde consola

ruby archivo_nuevo.rb y listo.

Para los que tienen problemas para ejecutar el bundle install pueden seguir las instrucciones que estan aca para tener el versionador de ruby (linux)

Luego tienen que instalar la version de ruby for development en este hilo de stackoverflow pueden ver como se hace.

Al finalizar pude ejecutar

$ sudo bundle install
$ bundle exec ruby snake.rb

Y funciono perfecrtamente

Si están en Linux y después de instalar las dependencias siguen sin hacer funcionar ruby2d entonces instalen la dependencia de simple2d manualmente desde este repo

  1. Clonan los binarios
  2. make
  3. sudo make install

Otra forma de instalar Ruby2D es añadirlo directamente al archivo Gemfile y después ejecutar el comando bundle install en la terminal.

Con Ruby2D debemos especificar el tamaño de la ventana en la que se presentará la aplicación.

El origen de las coordenadas del canvas de Ruby2D es en la esquina superior izquierda.

Algunas de las características de Ruby2D son:

  • Sistema de coordenadas
  • Eje z para manejar la profundidad
  • Crear figuras, cambiar colores y opacidad
  • Insertar imágenes, sprites, texto y audio

Tengo problemas al tratar de ejecutar la gema de ruby “ruby2d”:

  • Crash Report log information --------------------------------------------
    See Crash Report log file under the one of following:
    • ~/Library/Logs/CrashReporter
    • /Library/Logs/CrashReporter
    • ~/Library/Logs/DiagnosticReports
    • /Library/Logs/DiagnosticReports
      for more details.
      Don’t forget to include the above Crash Report log file in bug reports.

Para los que tienen linux, y ya tiene ruby instalado, solo con correr este comando en la tarminal les hace la instalación.

sudo apt install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev

Para los que esten teniendo problemas por favor revisar la versión en la que esta ruby2d ahora para que no les genere problemas si se descargaron ruby2d antes de inicializar el bundle install con la versión que sale en el vídeo tendrán problemas ya que es una versión pasada.

para los que anden en windows
para ejecutar usa ruby nombre_del_archivo.rb

tratando de retomar el proyecto, hace un rato que no practico, este proyecto suena como un buen punto de regreso a la practica