Joao Daniel 2022's Forum Posts

  • Hi! I just tried to add google play to my game project but the website looks totally different and asks different things I don't know how to answer. I need to create a oauth screen, oauth login credentials etc.

    How do I set this up to work with Construct 3?

    Any help would be very much appreciated.

    you just need to watch some youtube videos about it and you will learn fast, i also had difficulties with this at first

  • Hi guys, I have doubts about googleplay, I posted games on GooglePlay but I can't get players no matter how hard I spread the links in gaming communities but in the end I always don't win anything, I would like to know why games on GooglePlay are so difficult to be downloaded I know you need marketing for this but the prices are very expensive, do you know methods to teach me please?

  • Two options:

    1. Loop through all tiles and check if they are empty.

    2. Get Tilemap.TilesJSON of an empty tilemap and save it to a variable. When you need to check if a tilemap is empty, compare its TilesJSON with that string saved in the variable.

    For example, the JSON of an empty tilemap may look like this:

    > {"c2tilemap":true,"width":53,"height":30,"data":"1590x-1"}
    

    But in your case it may be different.

    Hey

    I made the code to detect if the TielMap is empty and then delete the TileMap but for some reason if the TileMap is all complete and missing some tile in some frame then it is destroyed, I need it to detect if the tilemap is completely empty to then destroy it

    This is the code I'm using to detect if the TileMap is completely empty

    + System: for "y" to 0 a floor(TileMap.Height÷16)-1 + System: for "x" to 0 a floor(TileMap.width÷16)-1 + TileMap: tile (loopindex("x"), loopindex("y")) = -1 -> TilesMap: Destroy
    
  • For the first loop, you need to divide the TileMap.Width by Tile Size and the same for the Height

    Example:

    We have a Tilemap that has (Tile size =32)

    > 
    For "Y" From 0 To floor(Tilemap.Height/32) -1
    ------For "X" From 0 To floor(Tilemap.Width/32) -1
    
    + Tile.At(loopindex("X"), loopindex("Y")) # -1
    
    
    -> System: [Create object coin on layer "Tile" at
    > 
    > Tilemap.TileToPositionX(Loopindex("X"))
    > Tilemap.TileToPositionY(Loopindex("Y"))
    > 
    > 
    > 

    Thanks for helping me, I did what you suggested and it goes through the entire tilemap in the loopindex but it ends up creating several coins overlapping the other and sometimes some tile that I deleted is filled and others not

  • Hi guys, I searched here in the topics about my question and I didn't find it, and the following ones I created a system to change the size of the Tilemap through the touch and then when I release the screen button then it creates several objects in the width and height using loopindex , only this tilemap will be erasable when I tap on it so a block is erased at the place I clicked, and then I save the json of the tilemap with the filled blocks and the various ones in the array, I want it when I open the game again automatically detect the filled blocks and the several and then just create the objects in the blocks that are filled and the several remain several until I create objects over them again

    what am I doing wrong ?

    + System: for "X" to 0 a Tile.width/Tile.width

    + System: for "y" to 0 a Tile.height/Tile.height

    + Tile: tile (loopindex("x"), loopindex("y")) # -1

    -> System: [Create object coin on layer "Tile" at (Tile.PositionTileX(loopindex("x")), Tile.PositionTileY(loopindex("y"))), create hierarchy: no, template: ""]

  • Two options:

    1. Loop through all tiles and check if they are empty.

    2. Get Tilemap.TilesJSON of an empty tilemap and save it to a variable. When you need to check if a tilemap is empty, compare its TilesJSON with that string saved in the variable.

    For example, the JSON of an empty tilemap may look like this:

    > {"c2tilemap":true,"width":53,"height":30,"data":"1590x-1"}
    

    But in your case it may be different.

    Thanks for the help, I'll stick with option 1, as my tilemap is custom-sized and modified in real-time

  • Hi, I would like to know the advantage and disadvantage of saving a level in array and saving on the computer, I see that saving by array is more laborious but more satisfying, but I would like to know the difference between the two, whether in a matter of time or other things.

  • Hi, I would like to know how do I detect when a tilemap is empty without even a block, I need to do this to then delete the empty tilemap

  • Store the uid of any object created as your first x value.

    You can then use indexof(uid) to get and delete the line of any specific object in the array.

    yes I already do that, but I use a Global variable to memorize the last object created, so I need that when an object is deleted from the level the global variable needs to locate the object that was deleted and resume in the last state without having to leave empty lines backwards

  • Try to delete the event, save the project, close it. Then re-open the project and create the correct event.

    If it still gives you the error, you need to post a bug report here:

    https://github.com/Scirra/Construct-3-bugs

    I told you not to approve the post that would be just for you admins to see and be aware, I don't know how to work on that Gifhud site I have difficulties in understanding the requirements when posting the bug so I posted it here, the error report is mentioned above , thanks.

  • Hi admin, I will share with you a bug, I will try to explain what happened I created an event to delete a tile from the Tilemap object and then I just tried to change the code in the tile delete event to delete tile with brush and it gave this fatal error , I know this is not the place to post bugs but I tried to post it on GiHUB and I don't know how to work on that site so I post it here so you don't have to approve this post just see the error and then you can reject the post, Thank you.

    More Details

    error report information

    Type: unhandled rejection

    Reason: Error: unexpected type TypeError: unexpected type at R.i (https://editor.construct.net/r302/main.js:908:461) at d.fga (https://editor.construct.net/r302 /projectResources.js:1672:356) at nNa (https://editor.construct.net/r302/projectResources.js:458:494) at new window.joc (https://editor.construct.net/r302/ projectResources.js:2789:197) at xa.j (https://editor.construct.net/r302/main.js:986:44) at new d (https://editor.construct.net/r302/projectResources .js:2794:269) at xa.j (https://editor.construct.net/r302/main.js:986:44) at $E.g.J.ijc.N (https://editor.construct.net/r302 /projectResources.js:2800:90) at gOa (https://editor.construct.net/r302/projectResources.js:486:57) at cOa (https://editor.construct.net/r302/projectResources.js :484:117)

    Stack: TypeError: unexpected type at R.i (https://editor.construct.net/r302/main.js:908:461) at d.fga (https://editor.construct.net/r302/projectResources.js: 1672:356) at nNa (https://editor.construct.net/r302/projectResources.js:458:494) at new window.joc (https://editor.construct.net/r302/projectResources.js:2789 :197) at xa.j (https://editor.construct.net/r302/main.js:986:44) at new d (https://editor.construct.net/r302/projectResources.js:2794: 269) at xa.j (https://editor.construct.net/r302/main.js:986:44) at $E.g.J.ijc.N (https://editor.construct.net/r302/projectResources.js: 2800:90) at gOa (https://editor.construct.net/r302/projectResources.js:486:57) at cOa (https://editor.construct.net/r302/projectResources.js:484:117)

    Construct version: r302

    URL: editor.construct.net

    Date: Tue Aug 02 2022 01:40:25 GMT-0300 (Brasilia Standard Time)

    Uptime: 68.4 s

    Platform information

    Product: Construct 3 r302 (stable)

    Browser: Chrome 103.0.5060.134

    Browser engine: Chromium

    Context: browser

    Operating system: Windows NT 0.3.0

    Device type: desktop

    Device pixel ratio: 1.100000023841858

    Logical CPU cores: 2

    approx. device memory: 2 GB

    User agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36

    Language setting: pt-BR

    WebGL information

    Version string: WebGL 2.0 (OpenGL ES 3.0 Chromium)

    Numeric version: 2

    Supports NPOT textures: yes

    Supports GPU profiling: no

    Supports high precision: yes

    Vendor: Google Inc. (Google)

    Renderer: ANGLE (Google, Vulkan 1.2.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver)

    Major performance caveat: yes

    Maximum texture size: 8192

    Point size range: 1 to 1023

    Extensions: EXT_color_buffer_float, EXT_color_buffer_half_float, EXT_float_blend, EXT_texture_compression_bptc, ​​EXT_texture_compression_rgtc, EXT_texture_filter_anisotropic, OES_draw_buffers_indexed, OES_texture_float_linear, WEBGL_compressed_texture_astc, WEBGL_compressed_texture_etc, WEBGL_compressed_texture_etc1, WEBGL_compressed_texture_s3tc, WEBGL_compressed_texture_s3tc_srgb, WEBGL_debug_renderer_info, WEBGL_lose_context, WEBGL_multi_draw, OVR_multiview2

  • Hi guys, I have a doubt about my game that I'm creating "Level Editor" I created a method to save each new object that is created in the array, I created a variable to memorize the last saved object so whenever a new one is created it will never replace one object already saved in the array, but I'm having trouble with how to do it in case the player deletes an object, instead of leaving several lines of the array empty, simply deleting them and the variable of the last object saved without affecting the variable of the last object created.

  • As Ashley likes to say, Answer your own performance questions with measurements :)

    rsrsrs

    How much data are you talking about? If it's less than 1MB I wouldn't worry about it at all.

    the array will be 2000 wide and 2 high

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • hi- guys, my question is the following, in my level editor game, i save the information of the positions of each object in array i use for each tile a tilemap that in my opinion got better when resizing the player in real time it will be easier for him and so I save the json of each tile in an array and I will do the same thing with enemy sprites and I would like to know which one takes more memory save the json of each sprites or save the position, X, Y , which is lighter and weighs less in the memory of the device to be rotated, because in each line of the array an object json is a large text and already the positions in my opinion less text in the lines of the lighter array is, please correct me if i'm wrong, thanks.

  • You do not have permission to view this post