A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Curso de Ruby

Curso de Ruby

Sim贸n Soriano

Sim贸n Soriano

Overview Ruby 2D

24/39
Recursos

Aportes 18

Preguntas 9

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

para los que est茅n instalando esto hoy en d铆a, con solo ejecutar el comando: 鈥済em install ruby2d鈥, ya est谩.
Luego pueden crear un fichero: 鈥渘ombre_del_fichero.rb鈥 y lo ejecutan con 鈥渂undle exec ruby nombre_del_fichero.rb鈥.

Ac谩 pueden ver el ejemplo:

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

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.

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

gem "ruby2d", "~> 0.11.1"

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?

Que diferencia hay entre Ruby2D y Gosu?

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:
鈥搘ith-opt-dir
鈥搘ithout-opt-dir
鈥搘ith-opt-include
鈥搘ithout-opt-include=${opt-dir}/include
鈥搘ith-opt-lib
鈥搘ithout-opt-lib=${opt-dir}/lib
鈥搘ith-make-prog
鈥搘ithout-make-prog
鈥搒rcdir=.
鈥揷urdir
鈥搑uby=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.

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 鈥淲indow Manager鈥. Esto te permitir谩 conectarte con 鈥淩emote 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 鈥渁brir 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/

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 鈥渞uby2d鈥:

  • 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鈥檛 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.

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'

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