tulamide's Recent Forum Activity

  • Happy new year from germany. It's only 2 hours late ;)

    May all your wishes come true (at least the ones that are not selfish :P )

  • Hi I've managed to compile the Construct IDE (Editor) Using Visual Studio 2010 and may one day get rid of the directX and use openGL.

    I'm fairly new at C++ but am still in college taking courses.

    I also do plan on making a portable edition that doesn't use the registry.

    I've already managed to get it to run on Windows Vista with Areo Enabled.

    So to answer your question, yes I Hope to make a new version and contribute to the Construct Development Team!

    Thank you for you quick reply. That sounds promising. I'm really looking forward to some results, specifically the OpenGL port. :)

  • Noch ein deutschsprachiger hier. Deutschland/Schleswig-Holstein. Bedenkt aber, dass es nicht gern gesehen wird, hier in irgendeiner anderen Sprache als Englisch zu schreiben.

    ------------------------------------------------------

    Another german-speaking one here. Germany/Schleswig-Holstein. But please consider that generally it is not encouraged on these forums to write in any other language than english.

  • I don't know, I'm sorry. But I'm curious. Looking at your posts I see that all of your questions are about Construct itself (the source), not about the usage, like most people ask for help. May I ask why you are so specific to the source? Are you compiling some special Construct version, and could that be of interest to others, too? (e.g. an OpenGL port or a no-install-version)

  • Does no one understand what I asked for? I don't want multiple events, for example: take your capx and the event "Is animation 'Red' Playing?" rather than having it seperate I want: "Is animation 'Red' or 'Blue' or 'Green' or 'Purple' Playing?" for reasons I do not feel the need to explain.

    I know you won't listen, because I tried to explain it two times. We did understand, but the simple fact is, "or" in a programming language does not work like "or" in a spoken language.

    While you can say, "Is the apple's color 'green', or 'red', or 'orange'?", and everyone will understand you, for the logic of a programming language you have to phrase, "Is the apple's color 'green', or is the apple's color 'red', or is the apple's color 'orange'?", which is a tiny little difference for us humans, but a huge one for logical operators.

    The first one will look to Construct like so: "Is the apple's color 'TRUE', or 'TRUE', or 'TRUE' "

    Now 'or' returns true if any of the elements result to true. They all result to true, no matter what the real color's name is, because they are non-empty strings, so the result will always be 'TRUE'.

    What you need is a way to get the boolean 'TRUE' only if the apple's color is either of the three color names and 'FALSE' in all other cases.

    That's why the second one is so important. There you have three evaluations and every single one will only be true, if the apple's color matches that name. Let's say, the current color name is 'green', then the second one will look to Construct like so: " 'TRUE', or 'FALSE', or 'FALSE' "

    That's important as soon as the real color of the apple does not match any of the three color names. Let's say, the color of the apple is 'purple'.

    First one will still read as: "Is the apple's color 'TRUE', or 'TRUE', or 'TRUE'" That will result to 'TRUE', so the event will be executed, although the apple does not have the correct color.

    Second one will read as: " 'FALSE', or 'FALSE', or 'FALSE' " That would result to 'FALSE', just as we expect it to be.

    As soon as the type mismatch issue is corrected by Ashley, you still have to phrase it the right way.

    Block.AnimationName = "Block1" | "Block3" | "Block13" | "Block14"

    will still not work (as I explained above). It is phrased wrong.

    Block.AnimationName = "Block1" | Block.AnimationName = "Block3" | Block.AnimationName = "Block13" | Block.AnimationName = "Block14"

    is the only way to make it work as you want it to behave.

  • Of course it does say so. You would have to "or" the comparisons itself. So that you have 4 comparisons in that event that are or'd. With CC you would do

    Block.AnimationName = "block1"

    OR

    Block.AnimationName = "block3"

    OR

    Block.AnimationName = "block13"

    OR

    Block.AnimationName = "block14"

    and every line is one condition (4x Comparison, 3x OR). I guess then it isn't possible to "or" conditions in C2? But in the manual it is described as if possible:

    scirra.com/manual/78/expressions/page-1

    Maybe there is "evaluate" as a system condition?

    EDIT: In general, remember that any logical operator just compares to boolean values (TRUE or FALSE) and nothing else. Those values may be replaced by expressions/conditions that result to either TRUE or FALSE (like "if a is greater b"), but it needs to be something that results in a boolean value.

  • It's a logical operator. You can't compare against a collection of logical or'd strings. I don't use C2, so I can't say if this is doable with the event system, but the correct way to get what you want would be:

    Block.AnimationName = "block1" | Block.AnimationName = "block3" | Block.AnimationName = "block13" | Block.AnimationName = "block14"

    This will result to true, if Block.AnimationName equals one of the four strings.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • 0--1--2--3--4--5--6--7--8--9     Index

    -----------------------------

    89-61-49-92-35-37-86-39-12-64    Variable (random) ArrayA

    12-35-37-39-49-61-64-86-89-92    Variable (sorted) ArrayB

    09-06-05-10-02-03-08-04-01-07    ID ArrayID

    + ArrayB: For each element

    ++ ArrayA: For each element

    +++ ArrayA: Value at ArrayA.CurrentX Equal to ArrayB.CurrentValue

    ---> ArrayID: Set index ArrayB.CurrentX to ArrayA.CurrentX

    1) Array indices in Construct are 1-based (first index is 1)

    2) Copy ArrayA to ArrayB after having generated the random numbers and sort ArrayB. A simple bubble sort algorithm will do.

    3) After setting ArrayID, it will look exactly as pictured above. You now have a double reference (both index and ID) and can find either the ID from a value, a value from an ID, an index from an ID, an ID from an index, an index from a value or a value from an index. Just peek at the right positions of the appropriate arrays.

    4) The events posted above will only work, if the random generated numbers are unique! 3-1-7-4 will work, 3-3-4-4 will not.

  • lol couldn't tell ya. This has been a problem for me since I started making games. I've always wanted some sort of condition like so:

    If (Object with value A) collides with (Object with value B) then do something with (Object with value A)

    but I don't think it'll ever happen..can't really say why either, it seems pretty basic.

    Well, that already exists. Just use sub-events and private variables. For example, let's say there's a sprite with pv 'myID'. Three instances of that sprite exist. Their pvs are set to "red", "green" and "blue".

    + On collision between sprite and sprite (this will put both instances on the sol)

    ++ sprite: Value 'myID' equal to "red" (this sub-event will only select the instance with pv "red" if it is already on the sol)

    ++ sprite: Value 'myID' equal to "green" (same as above)

    ++ sprite: Value 'myID' equal to "blue" (same as above)

    With such a construction any two (or all three) instances that collide, will react according to the sub-events. Of course, you could further narrow down with other conditions/sub-events. For example, 'for each' as a sub-event to the 'on collision'-event will loop only through the instances that are already on the sol (which are the instances that collided).

    I still love CC, but I'm somewhat afraid to go on with it with the chance that the project may become dead sooner than later (or as I see it anyways). The main hindrance to CC going forward is, seeing that it was made by still-learning college students, that it is clunky and not very flexible (outside of plugins, I mean).

    -The following is not directly addressed to you, but is more a general summary of experiences and thoughts-

    I wouldn't look to much forward. Take the actual copy of CC and stick with it for the whole project. Use workarounds for missing features or bugs and do your project. Besides many complaints, CC is stable enough to do extensive projects. Add 's' and Python, and there is the flexibility.

    From my experience over the last two years I learned that many, if not most, of the rumors about instability or some bugs are in fact just misuse of CC and its tools. For example, there are lots o people having problems with XAudio2, although it is rock-solid and a workhorse if you just learn about the principles. Or saving projects: why is CC to blame if I save half a million times to the same file and suddenly have a corrupt file? Or the neverending story of grid based tile editing: CC has a completely different approach, still so many complain that it isn't comfortable to work with grid based tiling. The answer is so simple: Just don't do it. Every tile grid construction can be realized much easier and more comfortable by layering object based tiles. It is as if people would drive a car and complain that you can't use a saddle.

    Some features never were finished and that's sad, but it doesn't prevent projects per se. For example, the file object is a mess, but 's' offers more than enough to compensate and create your own file format. With Python you can even go as deep as writing bytewise to your files, if you wish so.

    Shader effects, one of the most powerful features that CC offers, are very rarely used. They can give your project this wonderful final professional touch.

    The event system is not just one of the most flexible solutions when trying to give a simple usage for beginners and still let the advanced ones go in-depth (just look at Quazis unbelievable completely event-based solutions to some of the most difficult programming algorithms), it is also very fast. But again, people complain: Heya, it is not as fast as C++. Well yeah, it isn't that fast, because it is much more comfortable to work with! Comfort always costs speed. But I have yet to see just one game that really hits the speed limit (no, I don't accept 3D-baubles, CC is a 2D game maker)

    In short: Don't hesitate, just do it. Make optimal use of hardware acceleration and fine tune your project to have an optimal balance between cpu and gpu load. Save often, but use a thoughtful save system (save to new files every x times, make backups and store them on different physical devices plus internet). If you don't demand something CC wasn't meant for, it will work. It will.

  • What makes me curious is that I just tested the demos of flashjs. While C2-demos still run bad/poor in Firefox 8 under WinXP, that demo runs with amazing speedy 80 fps. Now what do they make better than C2, that they can reach such high rates, compared to the 9-25 fps I get from C2 demos?

  • I guess I'll go with the array then, however when storing values in the array can you use strings? Or do you have to use integers. Also how do you access the array using construct's expressions.

    This cap will answer the questions: access_string_array.cap

tulamide's avatar

tulamide

Member since 11 Sep, 2009

Twitter
tulamide has 3 followers

Trophy Case

  • 15-Year Club
  • Coach One of your tutorials has over 1,000 readers
  • Email Verified

Progress

17/44
How to earn trophies