arcalaus's Forum Posts

  • Start animation is translated as "Detener" instead of "Inicio".

    Action name is correct ("Inicio") in the selection menu, but it is wrong ("Detener"=Stop) in the script listing.

    (Why translation team translated the verb 'Start' as noun 'Inicio' of verb 'Iniciar' is out of my understanding, but I guess there was some previous agreement about it)

    In Spanish: Al añadir la acción Sprite.Inicio, en el listado del guión se muestra Sprite.Detener (=Sprite.stop) en lugar de Sprite.Inicio.

    (El porqué de que se decidiera usar el sustantivo Inicio en lugar del verbo Iniciar para traducir el verbo To Start escapa a mi comprensión, pero supongo que fue una decisión meditada por el equipo)

  • Well, it seems I was simply creating many images from the same region.

    You can see now a simple, barebones, jigsaw puzzle game.

    You can improve it by changing graphics or adding a load image function.

    (Demo image is from Wikimedia foundation).

    drive.google.com/file/d/1AgOAot2KQbP1pveGfv_BlS6l8KNks0M2/view

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Hi!

    Thanks to the Ludum Dare offer, I am moving my classic jigsaw app (see [1]) to Construct 3. To do so, I'm replacing R0j0H0und's Canvas plugin with the DrawingCanvas plugin included with C3.

    And now, the headache.

    Remember how my puzzle works. In order to allow the user to change the puzzle image, a grid of overlapping canvases is created below the image. Then the image is pasted on the canvas, and cut using a sprite (this is hardcoded) which makes the "jigsaw" pattern.

    Since all DrawingCanvas operations are made in system ticks, I had to rework nested "For..." loops into a loop ruled by "compare variable" conditions that executes one tick at a time. But I'm ending with a Canvas object that has no collision mask.

    I need some sort of collision mask to make "drag and drop" work as expected. It is, when you drag over a transparent section of the DrawingCanvas, the piece is not dragged.

    I could try to rework it again and use DrawingCanvas.Save events to save the canvas and load it with Sprite.loadFromUrl. But, as DrawingCanvas.Save is an async process and there is no flag to get what image is being saved (as opposite to other async processes such as sound events or ajax events), I don't know how to get further.

    [EDIT]

    I just managed to load image into a sprite by making all loop variables global and using instance variables in the canvas. The sprite has a fine drag-and-drop mask, but the same image is loaded into all instances of same sprite. :-(

    You can see the (partially working) project here:

    drive.google.com/file/d/1apJ6KPtmmjR2OkcFWmoFluSRq08u874W/view

    [1] construct.net/en/tutorials/making-jigsaw-puzzle-part-two-429

  • Should the icon have some special name? I just uploaded a 512px icon to the icon folder (wich is empty) and the default icon keeps being used.

  • Thank you, I will try upating Cordova.

  • Hi!

    Since many months ago, Github sends me recurring messages on insecure dependencies on one of my projects (exported from Construct 2). Today I finally had time to download latest Construct2, reinstall git, clone my project, reexport it from construct2 and push it to github. Just to find insecure dependencies are still there.

    lodash:4.17.5 should be 4.17.14 or more

    shelljs: 0.7.8 should be 0.8.3 or more.

    How to reproduce: export project from Construct2 2.6.9 to Cordova. Select minimum IOS version:10.0.0. Select minumum Android Version: 5.0 (Lollypop).

  • Imagine you are programming in a computer which has no "PLAY" key and you want to create an event triggered by the "PLAY" key in a TV.

    You need to know the keycode for "PLAY".

    They are references for javascript keycodes on the web (the first result of google does not display info for multimedia keys, though).

    Anyway, a keycode list in the manual entry for the keyboard object would be nice.

    Also, some special info on keycodes for non-standard entries should be nice, too. Such as "The ok button on remotes sends ENTER".

  • Thanks. Request submitted.

  • Hi!

    I suggest the Construct team to provide an in-depth information for keycodes in the C3 keyboard manual entry. If you have a SmartTV and a remote, or a keyboard with multimedia shortcuts at hand when you are programming, you can enter the special keys for MediaTrackPrevious, MediaTrackNext, FastForward, VolumeUp and so on, but if you don't have a multimedia-enabled keyboard at hand when you are programming your app (maybe you're doing it in your phone or tablet), you need a list of special keycodes at hand.

    ---Cheers,

    Arcalaus

  • Hi!

    (Please notice, this is a long post. I think reading the full story casts some light on the problem. But if you want to jump to the end of the message, do it at your will).

    I use C2 with an early access license since the beggining of C2 (well, maybe not the beggining, but from v40 or so). I was reluctant to use C3 because C3 (early) yearly pay was bigger than the cash I paid for my lifetime C2 early license, and I only use C2 two months on a year (in Christmas and in July, when job load is smaller).

    Yes, I tested C3 in the early beta period, when you could try every feature, but I did it with a project that needed a plugin not still avalilable in C3, so I was disappointed with it.

    Then, I gave it a new chance last weekend using the gamejam license. I had an old project I wanted to convert for my smart tv. I wondered how things flow. I was really impressed how easy it was to export to android, without using third party services or installing Cordova and XDK along with an android NDK, as in C2. Well, the hosted compiling service really justified the recurring pay license.

    I used an hour to optimize my project to use a TV remote (the main difficulty was to find out how my not-well-documented project worked), five minutes to export it and... well, three hours to prepare the images, screenshots, descriptions and so on to export it to Amazon appstore.

    On the next day I found out a small bug I had inserted in my project, recompiled it and then, after sending it to Amazon appstore, I discovered the new version was getting a warning about not being compatible with the same devices. I had inserted a "when touch, mouse click or key down" in the first canvas, so my project was getting a implicit "usesfeature=touch" manifest tag, (I understand now the previous version did not get an implicit "usesfeature=touch" because it used touch, but not in the first canvas).

    I tried to unzip the .apk file and edit the AndroidManifest with a text editor, but I found that in current android version (26?) manifests are compiled (last time I had to edit a manifest, they weren't). So I had to install the 300+ Meg Android NDK. Yes, I could have instaled the SDK tools only. But they only work with the openjava-flavour of java installed with NDK -- they are no more compatible with Oracle java!!. I needed also the Cordoba plugin for NDK, the Gradle plugin for NDK, and even a previous version of Gradle because the exported android project required it (maybe because I was exporting an Android-21compatible app).

    So all the wonderful process of automagically exporting to android was broken simply because there is no way to modify the AndroidManifest.xml or simply expliciting that the Touch feature is not required (Indeed, I was adding keyboard/remote support to an app that allowed either touch or mouse access).

    I understand that Construct3 exports to many services, and not all of them support the same features on their manifests. I also understand that Construct3 uses Cordoba to export to Android, and it maybe Cordoba does not allow finetuning manifests. But adding a way to say which hardware features does the project really require would be wonderful.

    (Adding a feature to render and capture the screen in the many various formats required by the different app stores would be wonderful, too -- capturing a screenshot in the computer or mobile is way easier than doing it on a TV. Also, some thing that disappointed me, but I think it was on the part of Amazon App Services, was that I made icons for small screens and big screens. Amazon said my app worked on big screens only, while the manifest created by the exporter contained all possible screen sizes. I think Amazon was simply ignoring the manifest.)

    --- Cheers,

    Arcalaus.

  • Hi!

    I recently got a somewhat old smart tv which relies on the opera store to acquire apps. I wonder if someone here has used C2 to make apps capable of running as opera tv apps.

  • Ok. I've read about nvjs argv:

    https://github.com/nwjs/nw.js/issues/3838

    I expected someone made a plugin so i didn't need to manually alter javascript code sent to nwjs.

  • Hi!

    I know there are some screensavers able to show webpages. Someone uploaded one to the forums a long time ago. But this time I'm trying to make a standalone windows screensaver. It is simply a nw.js windows app I rename as ".scr" (instead of ".exe").

    These are the things I have managed to solve:

    1) the app has to be maximized -- I solved it with nwjs maximize action.

    2) Keyboard press / mouse move detection has to be built into the program -- I solved it by storing mouse.AbsoluteX and mouse.AbsoluteY and comparing distance() travelled from stored values to current ones, but I had to add a delay between nwjs maximize action and mouse position storing. Keyboard press and touch events are easier to detect.

    3) On any event from (2), screensaver window has to close. It took me some time to imagine where to find the window close action. It is on browser object. Nice to know that,... The main reason I never made apps for tizen was I had to include a close action, and I didn't where to find it.

    Here are the things I can't manage to solve:

    4) Configuration screen. It is called with a special command line argument ("/c" or "/c number"), but nwjs doesn't have a method or value to return command line arguments.

    5) Attach to hwindow. When a screen saver preview is requested by user in desktop configuration menu, the program recieves an hwindow as command line argument. In case I solve (4) and want the screensaver be able to show a test version on the desktop configuration menu, I should be able to attach nwjs.window to a given hwindow, or at least detect hwindow position and size to mimickize it.

    Is there some plugin to make (4) or (5) possible?

    EDIT -- I removed some uppercase.

  • Nice! I have to give it a try!

  • Many thanks to everybody! Good Job!