GMS 2 [SOLVED] Alpha problem with surface for a pause system

Discussion in 'Programming' started by Naoki, Feb 9, 2019.

  1. Naoki

    Naoki Member

    Joined:
    Jun 2, 2018
    Posts:
    11
    Hello, hello,



    I had a pause system with the screenshot stuff drawing on the screen but it seems the surface system can have a better result for my game.

    Right now, I managed to create a new surface where I copy/paste the application surface on it when I pause the game but there is a problem with the sprites that have an alpha lower than 1. When I pause the game, the sprites with an alpha equal to 1 are perfectly drawn and still have an alpha equal to 1.

    But the sprites with alpha lower than 1 have their alpha even lower, they become even more transparent.

    So what I want to do is either having everything at alpha = 1 then I will have a black screen with alpha 0.5 to create a fake transparency or having directly every sprite at alpha = 0.5.



    Most of the threads on this problem are talking about GMS 1.4 (I have GMS2) so a lot of things are irrelevant for me and so far I can't find a solution to solve this problem.



    For the code, when I press Esc, a oPause object is created with this in the create event:


    Code:
    pauseSurface = surface_create(room_width, room_height)
    
    surface_set_target(pauseSurface)
    
    surface_reset_target()
    
    surface_copy(pauseSurface,0,0, application_surface)
    
    instance_deactivate_all(true); 
    

    and in the draw event I have:
    Code:
    "draw_surface(pauseSurface, 0, 0)"
    

    So here I am again, asking for help to resolve something far too complex for my brain. :(
     
  2. Naoki

    Naoki Member

    Joined:
    Jun 2, 2018
    Posts:
    11

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice