tarek2's Forum Posts

  • Does the string has to be a perfect match or just have to contain the word between the string of letters?

    Example:

    We have Word = Apple

    1-String: asqpApplepd

    2-String: Apple

    Which one is the correct one 1 or 2?

    As it will change the way you will build the logic.

  • Nice idea tarek2! The picking answer system will works correctly as long as you make the choice's string in one line.

    Yep, you could add just an instance variable to the Text where you add the choices and save the "Index line number" of the correct Answer and then when they click on any choice you can validate if it's the correct line answer.

    Here is an example, I added:

    1-Highlight the Answer

    2-Validate if its the correct answer

    https://www.dropbox.com/s/z48f0brok2cga8h/Text%20object%20Choices2.c3p?dl=0

  • Here is a small demo to select a choice from multiple choices in a text to see if it helps you:

    https://www.dropbox.com/s/v95aq328iayegx1/Text%20Cliked%20Line%20.c3p?dl=0

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Quick question about sprite fonts. Can I use arabic letters?

    Sure, the sprite font is like a normal sprite, basically an image containing all the letters. You can build your own sprite font with any language or icons etc... With these great tools.

    Links:

    https://www.construct.net/en/forum/game-development/tools-and-resources-27/sprite-font-generator-v3-64038

    https://www.construct.net/en/forum/game-development/tools-and-resources-27/spritefont-generator-168408

    hmmm, I thought there might be some clever way to do it with only 1 text object.

    I dont say is impossible, I was just trying to simplify your job, most people will go to multiple text object routes. Is there any reason why you would want to complicate yourself that much?

    While a go I replicated my own Txtbox but using a normal Text object so I needed the feature to place the cursor on any letter of the text when clicking on it, I managed to get it to work but it was quite tedious and hacky, I think it was still one issue not sure if I fixed yet, I will have to find the project and check. So in your case, it may be easier as you just need to target just the line of the choice clicked though again why you will want to make that difficult, even if you manage to make it work there are still other questions, for example:

    how will you mark or highlight the answers? so they know which choice they clicked on, etc...

  • All the choices go into a single text object.

    I was actually actively avoiding using the html elements. Wanted to see what I could do without them.

    I know it's easy one question at a time. I'm actually trying to spawn them all together.

    Hah, in a single txt is going to be impossible to know which choice they selected, you gonna have to have to spawn each choice in its own Txt object so you can simplify and you will need just one event "On Txt clicked".

    Though if you gonna spawn that many questions and choices you will want to use a sprite font for performance as the Txt objects are very performance intensive.

  • The choices of one question do you put them in one single text object or multiple?

    What you could do is spawn each choice on its own textbox

    Then you add an event:

    on txt touched

    -------Subevent: Text.txt = "Your Valid Answer"

    Or you could also do it style radiobutton:

    Spawn each choice on its own checkbox button

    Then you add an event to compare if it's a valid answer:

    This is if you spawn one single question at a time.

  • Hi is there any way that we can change the color of the list item?

    You can use CSS to change the colours:

    Example:

    https://www.dropbox.com/s/ud61g65a56s1pnj/List%20Plugin%20Colored.capx?dl=0

    or upload a desired photo into it?

    Is not possible to use an image with the list or any form object but if you are experienced enough you could build your own custom list with sprite objects though you will have to also keep track of things like indexes, etc... If you are new to construct I will recommend you to just stick to the official plugin to make the things easier.

    I totally agree with Chadori:

    The mobile department needs quite a big rework is not only stutters:

    1-Stutters

    2-Frame cap

    3-Memory management to give total control over what assets are loaded at the start of the layout to make the loading faster for games that have many assets

    4-Effects:

    What's the point to have effects if we cannot use them on mobile?

    In my 7+ years, I have never used effects because the performance is really bad. And now that I really needed a water effect just to make a minimum underwater effect the phones are getting really hot, the phones are quite powerful, including iPhone8 and any model after.

    There is no reason why it couldn't handle it, as there are just two sprites objects in the same layer and I apply the effect to the layer to save performance:

    CPU = 5

    FPS = 60

    But still, the phones are getting hot not sure why as you can see the stats are super low.

    These are to name some of the most important.

    Back in 2016, the Construct 3 developer said devices are getting more powerful and the performance will get better. Well, that's true, but not that you will benefit from it, Construct 3 performance is getting worse.

    I say the exact same thing, this point from that time it stuck in my head as I believed that will be the case as it makes sense that phones get better so fewer issues we will have but now the phones are super powerful and they cannot get any better so it should be no reason for any performance issues stutters or any other issues.

    Also, if Scirra do work on a CA-only feature, they always seem to multitask and add a bunch of other fixes and changes within an update, so it's not like C3 gets abandoned whilst they work on CA. If Scirra turned a blind eye to issues so that they can work on CA, then yeah that would be a problem, but so far I have not observed this.

    I think there is a misunderstanding with this concept as we dont judge if they are capable to work on both products, what we are saying is that any time spent on that new product could be used to improve C3 which there are many issues to fix like the ones I mention above. If C3 had no issues or just minor problems then it wouldn't look as bad working with a new product, so you can understand the frustration of many users, especially when they dont have new employers as they said when C3 was in beta they will add in the future when the user base grows, so were already in the future and the userbase grew but we didn't have any improvements on those issues. After all, we are just asking that after working on those Games for years which is a big sacrifice, the only thing we ask is that the games run decent when you release them, I think everyone will be happy with that and probably you wouldn't see users completing about the products etc...

    -I didn't see any advertising for C4

    -Or we dont have roadMap

    So the question is are these issues gonna be resolved or not? maybe dont reply on (Chrome + Cordova) and try something else.

  • It's not that relevant, it's just that this boss, later in the game, will be a regular enemy, so the regular ones should respawn whenever their initial position is on-screen (which is already set up) but the boss one should only be fought once, so I created a boolean only that instance has true, but don't know how to make it so enemies with that set to true won't be recreated

    I dont understand why the regular enemies that are not bosses will have the Boolean true. Normally you will set only the one who is boss to true after all that's why you added the boolean to identify who is the boss, then when the user completes the boss just turn the boolean off for that boss so it becomes regular like the other ones.

    Though you will have to keep the Boss info if it's (completed or not) saved in a "Local storage" to keep up to date with the progress because the objects will always load their default values like (booleans, instance variables, etc...) unless you load from "System Save" which it will save the current state of all the objects on the game including booleans, etc...

    If you dont use the "System save" to save and load the Game then I will recommend you use (local storage + the Boolean you have)

    For example:

    Let's say is Boss1

    1-At the start of the layout loads the info from local storage into a variable or you could have a dictionary holding all the info for all the bosses and just load the whole dictionary from local storage.

    2-To spawn the enemies you can do:

    If Boss Boolean is false: ------------- Spawn as a regular enemy

    Else: Is boss completed: ------------- Spawn as a regular enemy

    Else: ------------- Spawn as Boss

  • Here is one way of doing it, I made a small demo on this thread:

    https://www.construct.net/en/forum/construct-3/how-do-i-8/animations-face-enemy-171414

  • but only in some cases

    They are gonna need more info to give you a more concrete answer as the booleans variables will be according to your specific cases.

    1-What are the cases in which the boss should spawn?

    Providing that info they will be able to help you quicker.

  • I am grateful so much tarek2. It works thanks I am trying to fix the file chooser problem after first loading the track and if we do it again should it refreshes itself and lists clear the menu but it has problems

    Np Im glad was helpful.

    I thought that is the way you wanted to do it for your description, it's hard to understand all info you provided. I had to pick up pieces of info from each comment you made to understand the whole structure like a puzzle.

    From what you described now it sounds like this:

    1-On Press File Chooser clear the list and import the newly selected tracks.

    2-If you press the "Add" button adds the new tracks to the current list.

    Which sounds more the way it should work as it makes more sense.

    Though on step1 there are more questions you should answer if you go that way, for example:

    -What do you do with the old list? do you remove it completely? or saved it? etc... you should be able to figure it out.

    Either way, it shouldn't be difficult to fix it the way you want it as you already have the "Add" button working so now you should just clear the list when pressing the file chooser and Import the new tracks.

    thanks again I fix it.

    It seems that you already fixed the problem and you dont need any more help, good job then!

  • The issue is the Tree as it has the "Z-Elevation" = 1

    All the objects on the same layer should be at the same z elevation if you want to use the z ordering (move to the Top or Bottom of the layer),

    If you are doing just a 2D platform game you can just leave the Zelevation always at default cero for all the objects to avoid confusion.

    I haven't done any 3D so not sure if that is how it should behave when they have different z-elevations.

    Edit:

    It is working as intended, here is the reference:

    https://www.construct.net/en/tutorials/using-3d-construct-2746

  • I added:

    -Go to the Next track at the end of the current playing song

    -And Loop the track

    https://www.dropbox.com/s/jyukysl807tg053/Track_List2.capx?dl=0

    I may replace my "Groove Music" player with this :)

  • huge thanks tarek 2. this nice solution the only problem is these two sprites are clear what they do how I can loop the track on itself and how I can set it to go to the next track imported in the list.

    https://icedrive.net/s/WFj6jfGwf4t4gF7RWPRNhhxhCy7z

    Np Glad was helpful.

    I haven't done those buttons I left them for you as I wasn't sure how you will set it up.

    how I can set it to go to the next track imported in the list.

    You already have "Next Track" working so you can reuse the same events? or are you referring to something else?

    Check event 16

    how I can loop the track on itself

    Let me check