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.

Mensajes - Luis En

16
Preguntas y respuestas / Re:¿Qué es move_contact_solid?
Septiembre 10, 2018, 02:14:32 AM
Cita de: Clamud en Septiembre 10, 2018, 12:55:36 AM
Si escribes -1 o 0, maxdist se establece en 1000. Es mejor escribir un número pequeño que sea igual a la máxima velocidad del objeto. Si se usa un número muy grande la función realizará demasiadas iteraciones y ralentizará el juego. De cualquier forma, no es recomendable utilizar las funciones move_contact_* ni move_outside_*.

Entiendo, entonces es mejor no usar el move_contact, y para reemplazarlo utilizariamos el place_meeting entonces?
17
Genial!! los gráficos están muy bellos!! usas Game Maker Studio 2 no?

Que genial que puedas vivir de la programación compañero! Éxito en todo!!

Y el juego estará a la venta?


18
Woww! y tu juego es en 2D o 3D?. Eres programador profesional?

Yo aún estoy aprendiendo, voy por los juegos 2D por ahora, y actualmente como primera práctica estuve haciendo un pequeño fangame de Half Life, aunque está en Beta. Y hay algunas cosas que faltan pulir (en programación sobre todo)

Hoy o mañana lo estaré publicando aquí, en otras páginas y en mi canal de Youtube.

Gracias por la explicación!!
19
Hola querida comunidad!

Quisiera que me ayuden con esto: ¿Cómo puedo hacer para que al cambiar de sprite mi personaje, cambie su máscara de colisión, considerando que el objeto de mi personaje ya tiene una máscara global establecida.

Ejemplo de lo que quiero hacer:

[gml]
Obj_Player

Event STEP:

if mouse_check_button(mb_left)
{
sprite_index = Spr_Golpeando
}

[/gml]

Aquí lo que quiero hacer es que cuando presione click izquierdo de golpes, y por lo tanto cuando esté con el sprite golpeando, la máscara cambie solo a los puños, y no a todo el cuerpo del personaje como cuando está en reposo.

Espero me haya explicado bien.
20
Hola! me encantaría ver como va el desarrollo de tu juego.

Creo que sobre la muestra de mecánicas del juego y power ups, podrías mostrar los power ups básicos, y no mostrar los que llamen más la atención, para que cuando el jugador esté probando el juego se sorprenda al ver cosas extras que no se esperaba.

Porque siempre es bueno mostrar avances y todo eso, ya que creará expectativa en el público, es lo que creo.

Y ese export UWP qué es?

Saludos!
21
Hola querida comunidad!

Necesito ayuda con ésto, me dice que no encuentra ese archivo. Y recién me di cuenta que en Global Game Settings en Windows>Installer ahi un botón para crear el .txt de Installer INS Script!

Alguna ayuda con eso?

Creen que éste código Script sea el indicado para colocar en ese .txt para el Installer INS?

[gml]; RunnerInstaller.nsi

;---------------------------------------------------------------------------------------------------
;
; Usable Variables Index
;
; ${PRODUCT_NAME}          = Name of the game, as defined by project name
; ${PRODUCT_PUBLISHER}     = Company name
; ${FILE_DESC}             = Description of the game
; ${FULL_VERSION}          = Full version of the game, e.g. 1.0.0.0
; ${COPYRIGHT_TXT}         = Copyright info
; ${MAKENSIS}              = NSIS directory, usually "<GameMaker Studio Folder>\makensis"
; ${LICENSE_NAME}          = License file
; ${ICON_FILE}             = Executable icon file
; ${PRODUCT_HELP_URL}      = (Optional) Your game's help/distribution website
; ${PRODUCT_HELP_TITLE}    = (Optional) Help url title, used for filename in Start Menu shortcut
; ${PRODUCT_SUPPORT_URL}   = (Optional) Your game's/company's website
; ${PRODUCT_SUPPORT_TITLE} = (Optional) Support url title, used for filename in Start Menu shortcut

;---------------------------------------------------------------------------------------------------

; Required Includes
!include MUI2.nsh

; Scan for NSIS plugins
!AddPluginDir "."

; The default installation directory (Only uncomment one of the following)
!define INSTALL_DIRECTORY "$PROFILE\${PRODUCT_NAME}"                           ; Install in Users/Username/
;!define INSTALL_DIRECTORY "$PROGRAMFILES\${PRODUCT_PUBLISHER}\${PRODUCT_NAME}" ; Install in Program Files/Company Name/Game Name/
;!define INSTALL_DIRECTORY "$PROGRAMFILES\${PRODUCT_NAME}"                      ; Install in Program Files/Game Name/

; Optional extra info values
!define PRODUCT_HELP_TITLE    "${PRODUCT_NAME} Website" ; Help/distribution url title
!define PRODUCT_HELP_URL      "" ; Your game's help/distribution url

!define PRODUCT_SUPPORT_TITLE "${PRODUCT_PUBLISHER} Website" ; Support url title
!define PRODUCT_SUPPORT_URL   "" ; Your game's url, could be your company's website

!define PRODUCT_COMMENTS      "" ; Comments, they appear on the Programs Add and Remove list

; The file to write
OutFile "${INSTALLER_FILENAME}"

; The name of the installer
Name "${PRODUCT_NAME}"

; Text caption for Installer/Uninstaller window title and dialogs
Caption "${PRODUCT_NAME} Setup"
UninstallCaption "Uninstall ${PRODUCT_NAME}"

; Branding text, appears on bottom separator
BrandingText "${PRODUCT_NAME}"

; Set default installation directory
InstallDir "${INSTALL_DIRECTORY}"

; Check the App Path, if the game is already installed, it will use the stored path as default install directory
!define PRODUCT_APPPATH "Software\Microsoft\Windows\CurrentVersion\App Paths\${PRODUCT_NAME}"
InstallDirRegKey HKLM "${PRODUCT_APPPATH}" ""

; Request administrator application privileges for Windows Vista and later
RequestExecutionLevel admin

; Add Version Information to installer executable
VIProductVersion "${FULL_VERSION}"
VIAddVersionKey /LANG=1033 "FileVersion"     "${FULL_VERSION}"
VIAddVersionKey /LANG=1033 "ProductVersion"  "${FULL_VERSION}"
VIAddVersionKey /LANG=1033 "ProductName"     "${PRODUCT_NAME}"
VIAddVersionKey /LANG=1033 "CompanyName"     "${PRODUCT_PUBLISHER}"
VIAddVersionKey /LANG=1033 "LegalCopyright"  "${COPYRIGHT_TXT}"
VIAddVersionKey /LANG=1033 "FileDescription" "${FILE_DESC}"

; Installer options and variables
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH
!define MUI_ICON                               "${ICON_FILE}"
!define MUI_UI_HEADERIMAGE_RIGHT               "${IMAGE_FINISHED}"
!define MUI_WELCOMEFINISHPAGE_BITMAP           "${IMAGE_FINISHED}"
!define MUI_HEADERIMAGE_BITMAP                 "${IMAGE_HEADER}"
!define MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH

; Custom uninstaller icon
;!define MUI_UNICON "${ICON_FILE}"

; Details visible or hidden (show = visible, hide = collapsed)
ShowInstDetails show
ShowUninstDetails show

; Variable to hold DirectX Setup error
Var DirectXSetupError

;--------------------------------
; Installer Pages
;--------------------------------

!insertmacro MUI_PAGE_WELCOME                   ; Introductory page (Optional)
!insertmacro MUI_PAGE_LICENSE "${LICENSE_NAME}" ; License agreement
!insertmacro MUI_PAGE_COMPONENTS                ; Component selection, shortcuts
!insertmacro MUI_PAGE_DIRECTORY                 ; Installation directory selection page
!insertmacro MUI_PAGE_INSTFILES                 ; Install progress page
   
    ; These indented statements modify settings for finish page
    !define MUI_FINISHPAGE_NOAUTOCLOSE ; don't autoclose the installer when done
    !define MUI_FINISHPAGE_RUN_TEXT "Run ${PRODUCT_NAME}" ; option for launching the game afterwards
    !define MUI_FINISHPAGE_RUN "$INSTDIR\${PRODUCT_NAME}.exe" ; path for the executable to run (default is the game exe)
   
!insertmacro MUI_PAGE_FINISH                    ; Installation done page


;--------------------------------
; Uninstaller Pages
;--------------------------------

!insertmacro MUI_UNPAGE_INSTFILES ; Uninstaller progress page


;--------------------------------
; Language
;--------------------------------

!insertmacro MUI_LANGUAGE "English"


;--------------------------------
; Installer
;--------------------------------

; Main Application component (required)
Section "${PRODUCT_NAME}" SEC_APPLICATION

    ; Make this component required
    SectionIn RO

    ; Set output path to the installation directory
    SetOutPath $INSTDIR

    ; Put file in installation directory
    File "${LICENSE_NAME}"
    File /r "${SOURCE_DIR}\*.*"
   
    ; Load up files necessary for getting filesize
    !include "${MAKENSIS}\Include\Util.nsh"
    !include "${MAKENSIS}\Include\FileFunc.nsh"

    ; Get estimated filesize
    ${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
    IntFmt $0 "0x%08X" $0
   
    ; Create uninstaller executable
    WriteUninstaller "Uninstall.exe"
   
    ; Register the application in the Windows AppPath
    WriteRegStr HKLM "${PRODUCT_APPPATH}" "" "$INSTDIR"
   
    ; Write the uninstall keys for Windows
    WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "DisplayName" "${PRODUCT_NAME}"
    WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "Publisher" "${PRODUCT_PUBLISHER}"
    WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "UninstallString" "$INSTDIR\Uninstall.exe"
    WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "DisplayVersion" "${FULL_VERSION}"
    WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "DisplayIcon" "$INSTDIR\${PRODUCT_NAME}.exe"
    WriteRegDWORD SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "EstimatedSize" "$0"
    WriteRegDWORD SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "NoModify" 1
    WriteRegDWORD SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "NoRepair" 1
   
    ; Optional info
    ${If} "${PRODUCT_HELP_URL}" != ""
        WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "HelpLink" "${PRODUCT_HELP_URL}"
    ${EndIf}
    ${If} "${PRODUCT_SUPPORT_URL}" != ""
        WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "UrlInfoAbout" "${PRODUCT_SUPPORT_URL}"
    ${EndIf}
    ${If} "${PRODUCT_COMMENTS}" != ""
        WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "Comments" "${PRODUCT_COMMENTS}"
    ${EndIf}

SectionEnd

; DirectX installer component
Section "DirectX Install" SEC_DIRECTX

    ; Make this component required
    SectionIn RO
   
    SetOutPath "$TEMP"
    File "${MAKENSIS}\dxwebsetup.exe"
    DetailPrint "Installing Microsoft DirectX®..."
    ExecWait '"$TEMP\dxwebsetup.exe" /Q' $DirectXSetupError
    DetailPrint "Finished Microsoft DirectX® Setup"
    Delete "$TEMP\dxwebsetup.exe"
    ${If} $DirectXSetupError != "0"
        DetailPrint "Microsoft DirectX® was not installed correctly"
    ${Else}
        DetailPrint "Microsoft DirectX® was successfully installed"       
    ${EndIf}
   
    SetOutPath "$INSTDIR"

SectionEnd



; Desktop shortcut component
; !! Note: Add /o to force the shortcut option unchecked, e.g. Section /o "Desktop Shortcut" SEC_DESKTOP_SHORTCUT
Section "Desktop Shortcut" SEC_DESKTOP_SHORTCUT
    CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\${PRODUCT_NAME}.exe" ""
SectionEnd

; Start menu shortcuts component
; !! Note: Add /o to force the shortcut option unchecked, e.g. Section /o "Start Menu Shortcuts" SEC_STARTMENU_SHORTCUT
Section "Start Menu Shortcuts" SEC_STARTMENU_SHORTCUT

  ; Create shortcuts in Start Menu
  CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
  CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
  CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\${PRODUCT_NAME}.exe" "" "$INSTDIR\${PRODUCT_NAME}.exe"
  CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME} License.lnk" "notepad.exe" "$INSTDIR\License.txt"

  ; Optional website links (auto-created if you fill in the URL values at the top of this script)
  ${If} "${PRODUCT_HELP_URL}" != ""
    WriteINIStr "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_HELP_TITLE}.url" "InternetShortcut" "URL" "${PRODUCT_HELP_URL}"
  ${EndIf}
  ${If} "${PRODUCT_SUPPORT_URL}" != ""
    WriteINIStr "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_SUPPORT_TITLE}.url" "InternetShortcut" "URL" "${PRODUCT_SUPPORT_URL}"
  ${EndIf}

SectionEnd

; Component Descriptions
LangString DESC_SEC01 ${LANG_ENGLISH} "This will install ${PRODUCT_NAME}. Required."
LangString DESC_SEC02 ${LANG_ENGLISH} "This will install Microsoft DirectX®. Required."
LangString DESC_SEC03 ${LANG_ENGLISH} "This will create a shortcut for ${PRODUCT_NAME} on the Desktop."
LangString DESC_SEC04 ${LANG_ENGLISH} "This will create shortcuts for ${PRODUCT_NAME} on the Start Menu."

!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
    !insertmacro MUI_DESCRIPTION_TEXT ${SEC_APPLICATION} $(DESC_SEC01)
    !insertmacro MUI_DESCRIPTION_TEXT ${SEC_DIRECTX} $(DESC_SEC02)
    !insertmacro MUI_DESCRIPTION_TEXT ${SEC_DESKTOP_SHORTCUT} $(DESC_SEC03)
    !insertmacro MUI_DESCRIPTION_TEXT ${SEC_STARTMENU_SHORTCUT} $(DESC_SEC04)
!insertmacro MUI_FUNCTION_DESCRIPTION_END


;--------------------------------
; Uninstaller
;--------------------------------

Section "Uninstall"
   
    ; Remove registry keys
    DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
    DeleteRegKey HKLM "${PRODUCT_APPPATH}"
   
    ; Remove files and uninstaller
    RMDir /r "$INSTDIR"
   
    ; Remove desktop icon, if any
    Delete "$DESKTOP\${PRODUCT_NAME}.lnk"
   
    ; Remove start menu shortcuts, if any
    Delete "$SMPROGRAMS\${PRODUCT_NAME}\*.*"
   
    ; Remove directories used
    RMDir "$SMPROGRAMS\${PRODUCT_NAME}"
    RMDir "$INSTDIR"
   
SectionEnd

; Show confirmation message before uninstall
Function un.onInit
  MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure that you want to completely remove ${PRODUCT_NAME} and all of its components?" IDYES +2
  Abort
FunctionEnd

; Show info message after uninstall
Function un.onuninstSuccess
  MessageBox MB_ICONINFORMATION|MB_OK "${PRODUCT_NAME} was successfully removed from your computer."
FunctionEnd
[/gml]

Y funcionaría para Game Maker Studio Master Collection también?

Espero me puedan ayudar!
22
Preguntas y respuestas / Re:¿Qué es move_contact_solid?
Septiembre 09, 2018, 06:03:56 AM
Cita de: 3dgeminis en Septiembre 08, 2018, 11:10:06 PM
Al usar el while si lo pruebas veras que es instantaneo, aparece pegado al otro objeto.
Si usas direction y como por defecto esta en 0 se movera a la derecha, a menos que la cambies. Un circulo tiene 360 grados asi que si le pones 90 ira arriba, 180 izquierda 270 abajo 3600 a la derecha y asi.
En el ejemplo con move_contact seria move_contact(0,-1)

Entiendo, y porque -1 en maxdist? en máxima distancia se pone un número como velocidad?
23
Preguntas y respuestas / Re:¿Qué es move_contact_solid?
Septiembre 08, 2018, 08:23:28 PM
Cita de: 3dgeminis en Septiembre 08, 2018, 07:34:08 PM
Lo que hace es mover al objeto en la direccion(dir) y velocidad(maxdist) que le des hasta que entre en contacto con un objeto solido.

Puedes emular esa funcion para un objeto en especifico usando:
[gml]
while !place_meeting(x+1,y,pared) {x+=1}
[/gml]
Asi no estas limitado a solo solidos o todos los objetos.
Y la dirección como la establezco? osea si pongo direction que significa? y si pongo 14 estaría yendo a la derecha?
Y la maxdist, si pongo 12 irá a más velocidad que cuando ponga 6?

[gml]
while !place_meeting(x+1,y,pared) {x+=1}
[/gml]

Aquí significa que:
Mientras no colisione con la pared, no se detendrá no?, y como sería éste ejemplo pero con move_contact_solid (ya se que aquí es para todos los solidos, pero quiero saber como se colocarían los parámetros)

Gracias por responder!!!
24
Preguntas y respuestas / Re:AYUDA: Varios textos estilo RPG
Septiembre 08, 2018, 07:19:11 PM
Genial! Bro! tiene mucho sentido! porque si me funciono!

Gracias!!!  8)
25
Preguntas y respuestas / AYUDA: Varios textos estilo RPG
Septiembre 08, 2018, 07:17:03 AM
Buenas querida comunidad!!

Estoy con el siguiente problema:

He podido hacer para que el texto que quiero que aparezca, se vaya escribiendo carácter por carácter, pero no sé como hacer para que luego de que se termine de escribir el primer texto, desaparezca, y pase a escribirse el segundo texto de la misma forma.

Por lo que he investigado, encontré que tal vez se pueda hacer con arrays, pero no sé como lo podría usar para hacer lo que quiero.

Tendría que ser: que primero se escriba el array "texto[0]" y cuando termine de escribirse, se escriba el array "texto[1]", pero no sé como se haría para que se eliminé el primer  texto[0] ya escrito, y pase al siguiente texto[1].

Aquí el código que tengo para el primer texto y su configuración para que se escriba carácter por carácter:

[gml]
///Obj_Globo_texto

//EVENT CREATE:

texto[0] = "Hola bienvenido a casa#Llegas tarde."

vacio = ""
inicio = 1
alarm[0] = 3

//EVENT ALARMA[0]:

if (inicio < string_length(texto[numero]))
    {
    vacio += string_char_at(texto[numero],inicio);
    inicio += 1;
    alarm[0]= 3;
    }

//EVENT DRAW:

draw_self()

draw_set_font(Fnt_Casa)
draw_set_color(c_white)
draw_text(x,y,vacio)

[/gml]

Espero me haya explicado bien, y me puedan ayudar. :-\
26
Preguntas y respuestas / ¿Qué es move_contact_solid?
Septiembre 07, 2018, 09:55:02 PM
Buenas querida comunidad!!

Sorry que pregunte esto, habiendo una guía en YoyoGames.com, pero no entiendo muy bien como lo explican.
Alguien que me pueda explicar de manera más clara y concisa lo que significa, y sus parámetros, a qué se refieren?

[gml]
move_contact_solid(dir,maxdist)

//dir <---- ??
//maxdist <----Máxima distancia de qué con qué???
[/gml]

Se agradecería mucho la ayuda.

Saludos!



27
Genial bro! quedó perfecto! gracias por la ayuda!!  8)
28
Wowww!! no tenía ni idea que podía ser de eso! como mayormente el problema es del código! jajaj.

Yo tengo Windows 8.1, y solo me sale el error cuando el tamaño de la room excede los 8 mil o 9 mil pixeles mas o menos.
Ya lo resolví momentáneamente, porque la room que media más de 10 mil pixeles, la dividí en dos, y así ya no me sale ningún error.

Igual voy a intentar probar la room de más de 10 mil pixeles en otros sistemas operativos como me dijiste. Y también veré si puedo averiguar sobre las librerias de OpenGL si tengo las necesarias en mi PC y eso, igual no sé mucho sobre ese rollo, pero espero encontrar algo  :-[

Gracias por responder bro!
29
Genial!!! BssString!! tienes razón, al poner solo "id" ya se entiende que se debe referir al "id" del mismo objeto donde está el código.
Me funciona perfecto! Gracias Bro! Por cierto, ya estoy terminando el jueguito de prueba, y ya te puse en los agradecimientos!

Por cierto, a ese mismo objeto que al tocar el mouse cambia de sprite, como hacer para que al tocarlo tenga un sonido? porque creo que si lo hago como creo, sonará muchas veces a la vez (el sonido superpuesto). Sabes como hacer para que suene solo una vez al poner el mouse en el objeto?
30
Cita de: BssString en Septiembre 07, 2018, 04:42:19 AM
Hola Luis En

Creo que buscas la función: "position_meeting" (no confundir con la común place_meeting). Esta función detecta una "colisión" como le llamas tu entre una coordenada y un objeto con sprite (o máscara de colisión).
Esto debe ir en el Draw Event del objeto al que quieres dibujarle dos sprites según la posición del mouse
if position_meeting(mouse_x,mouse_y,id) { draw_sprite(el sprite cuando el mouse está encima) }
else { draw_sprite(el sprite normal aqui xD) }


Saludos

Genial! gracias por responder, creo que eso es lo que buscaba! ahora lo probaré. Pero tengo una duda: ¿qué se pone en "id"? el nombre del objeto?, de que objeto? ya que el draw lo estoy poniendo en el objeto que quiero que cambie de sprite.

Por ejemplo yo tengo un objeto que cuando el mouse pase por encima cambie de sprite, así que no necesito hacerlo en el event draw no? solo pondría que cambie la imagen index del objeto.