TheInstance's Forum Posts

  • And with just moving the events arround ... to have a te biggest possible time in ticks between them,

    usaly solved the problem, as you can see here.

  • ....

  • Now lets Do the Counting in a slower way.

    With colissions, and as u see .. its is still out of sync.

  • ...

  • I made you a little showcase.

    There can only be 9 objects on 1 line. And yet there get more counted.

    Maybe you have a logical explination (or anyone reading for that matter),

    that would be very nice.

    But i am afraid that here only a "Quantum theory aproach" gives an outcome.

    Namely.

    There is interferention because there are two events running at the same time.

    yeshhh ?

    j0h

  • ....

  • To be short Ashley.

    When you make an event that moves objects based on a condition.

    And the Next event's condition should be true/false based on the just moved objects positions,

    then there is a big chance that the next event runs,

    before the objects are in place. Well big chance, 85% chance.

    So if you do.

    1. Event: On something false

    ________________action: move objects Y 40 down

    2. Event: On something true

    Condition: all objects with Y > 100

    ________________action: destroy those picked objects.

    The just moved objects will NOT be in the picked objects, because still moving, even when you jump them.

    I have no idea how to work arround this. Besides, Capture the true/false of the event. Use it as Flow-Control and Move up or down de second event in the sheet to seperate both events in time.

    This why i ask you, is there a sorta event available that says "wait till previous event is done with dooing its thing"

    ty

  • You could do it the old "Basic" way.

    Use a string and break the string down with system "text" expressions.

    This way you can build a (Q , d) array.

    If u set the string as a private variable, this variable is differend for each instance, there is the (d) depht in your string.

    The (Q) Que is the position in the string.

    Now i dont know if u know how the acces system expressions. So excuse me for "over explaining".

    Give an object a private variable called TheQue, type "text", intial value "0"

    I allways give it a value at layout startup, so when you restart the layout, everything gets reset, and its polite to yourself to define variables in the events sheet. But thats up to you.

    Now just for this lil "tutorial" make one system event "always"

    Make a new action, acces the private variable 'TheQue' to change its value.

    Now where u normal would type a value. We will put a system expression. Thats easy as:

    On the bottom of the wizzard u find the objects listed again, including the system object.

    Click system object. Now you have all expressions listed for the system object listed.

    Look for text.

    There u see "get left substring". Clicking it will bring "left(String, Count)" in the value field.

    String got to be the private variable 'TheQue'. You get that out of the expressions, and the same way, of the object u gave the private variable to. This will give you something like "Sprite.Value('Variable name')", where Variable name will be TheQue. ('TheQue').

    Count will be 1 for the first character in the string.

    So to get the first in Que, it will be something like

    left(Sprite.Value('TheQue''),1)

    To add to the Que. Lets assume your initial value is numeric. Look voor the system expression "convert value to string" This returns "str(Value)" .. where u change value to ur value, or the value as an expression as getting a global variable, or private variable, even object.X or object.angle.

    so add to the Que will be.

    Sprite.Value('TheQue'') + str(value)

    delete the first in Que will be

    right(String, (len(String)-1))

    or in your case

    right(Sprite.Value('TheQue'') , (len(Sprite.Value('TheQue'') )-1))

    Hope this helped you, or gave you a new direction to work to.

    j0h

  • Where no one is waiting for. But i feel like i promissed. Its Beta.

    Known issues:

    The gray block has a delay, and i cant find out where it happens.

    Its still containing objects i used for debugging.

    Its still containing left over variables.

    I did the keyboard input the wrong way, but it works.

    The opening layout sux.

    http://www.mediafire.com/?jlbb9d0cbcj

    Ashley take a look into it. Place the "out of timing" block where it logical belongs.

    In place of the "count & delete" block.

    You can make the controls layer visible in the "on layout start", first line,

    and exactly see what happens

    You will notice that it runs & will be finished dooing so, before the previous event is done.

    For the same reason i had to "countmach" against 12*x (12 24 48 ... ) blocks on a line.

    Question: is there an event that goes like "on previous event done" ? I can find it.

    Or is there a work-arround for that ? A lot of problems seem to have their origins in events needing the result of the previous event to be exact, but running before the previous event is done.

    j0h

  • 1

    2

    3

    Ah yes makes perfect sense in this case. Yet for a general rule. The pick event can be done in a subevent. In general i am not sure about combining "flow events/conditions" with "pick" events/conditions in one undivided blok. Would be an easy straightforwards rule to not do so ?

    4

    As far as i understand. The routine to pick the objects runs first here. This routine is not instantly, its a bunch of code. Then the flow to the actions get blocked (or not) on the condition. Looks as a waste of CPU time ? And in general, in stead of fixing all those 1 by 1. An overall rule ristricting "flow" events combined with a "pick" event in the same undevided block would fix 95% of the fixes u agree to do ... allready ?

    5

    6

    still think the second line should be a sub event .. sowwy

    7

    Reads perfect, and should work. But it dont work at all. It seems like .self + 1 actions slip arround collssion dedections. I did not figure out yet why.

    8

    Runs perfectly, while 7 dont do what u expect. In base i tried to point to the high "try and error" level in learning construct. And thats not only because of bugs Ashley. Bugs are still accepted in this stage of developping. You know that.

    9

    10

    This is or a nasty bug, or i did something nasty. I started my early .caps over alot because of this one. Make the group "active" and run the event. See the error. It happens when you copy/paste a sprite to another layer, while deleting the orginal sprite. And yes i know you can drag objects from layer to layer in the layers pane. I figured that out after i found what caused the error.

    99.

    I wanted max. 10 points. Its no more then trying to let you see that "reviewing" the sheet engine is needed. I am sorry if i was a bother on the road to this point. I am sorry that i defended my ass.

  • Captain i have no problem with you, never had.

    You produce the most .caps that have a something to learn from. You been most helpfull.

    And i love the flow in your english. I also learn from that.

    But as i said before. The "makers" of construct got to "review" the "control engine".

    Thats not a command.

    Thats an on facts based statement with no strings attached.

    Its not judging.

    I think i produced enough facts now. Dry and clean.

    But considering my position, and the stranger i get taken for,

    the statement is just a wish and wishfull thinking.

    Do i have to express that ? In attitude and in a language thats not mine ?

    I am not able to.

    I am not able to take "sensibilty" in account when i write english.

    I read it 50 times faster then Dutch, because my brains do not pronounce the words, they are soundless. And i dont get the nuances too.

    I write it 20 times faster then dutch because, there is no mental spellchecker reading with me, my brain is not bizzy with "ethics' not whith "beaty of the words", not with ritme, sound and "sensibility"

    But when i get comments, like i had, what do you expect me to answer ?

  • Let me state (again) that i am not here to demolish Construct.

    I fully realise that the render engine is in beta, and the control engine is probaly in alfa.

    I stated several times that i think the Whole is a great concept.

    I know that i use rough english, i dont even speak it !!

    And on top, i did't drink from the Holy Grale. I overlook things. There are things that i dont understand yet.

    Althaught i produced some .caps, i still feel Newbie. And as long as Construct is not announced by Ashley as "close to finished", no one can be "expert".

    All i do is drop "situations", point out "quirks", and show ways to "alternatives". I think its very cheap to critize and dont bring alternatives yourself. That is not how i am.

    So look into this .cap, think a minute about what u see/read. Plz dont give me solutions. There are work arrounds, Construct is flexible. Look at it from the point of "should the wizzard allow this" .. and if yes, why ?

    Ty

    http://www.mediafire.com/?nhm5g1tym1j

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • THX u so mutch Ashley,

    As you can see in the included cap,

    the behaviour of the ball runs out off sync with the events.

    This way a lot of the collissions escape.

    There are 2 ways to solve this.

    Use (1) a bullet behaviour and calculate the bounces in events yourself. Easy for the walls. Since they are BIG BIG cirkels we can assume the objects go trough the middlepoint when they aproach the walls. And bounce back mirrord arround the normals.

    Thats (180 - .angle), (360 - . angle) and (0 - .angle) .

    Must be not that difficult to do with the collisions with the cirkels. I know the size of the cirkel. I know the dx and dy between x1,y1 cirkel and x2,y2 aproaching object.

    I think it bounces around the tangent.

    I got to google this to be sure.

    But.. oh man, not using all those nice behaviours ? Thats a shame eh ?

    The other (2) solution is to start each block events with "flow" events. They are interruptable.

    And to give the plugins (behaviours) events that can interrupt the other events (in a later stage of the developping)

    Also, there is another advantage. Its important to make the dissicion to run a certain event or not, as early as possible in the event and with the fastes tools available. Only this way u build speed in big caps.

    The fastest tools are the hardcoded system events, and as far as i can see, u did a great job on them.

    I am sorry that i made the wrong statement about "global variables" beeing slower. I ofcourse had to test this out. And i was wrong.

    About using more "tags", tags as in usernames.

    Several times i gave up on this. Each time i gave the username a non existing e-mail and a random password. Thats for me as user the only way i can find to delete a username.

    I was't gonna come back, each time.

    But then a few days later, i took it up again. Made a .cap illustrating the things that i missed. And i knew its worth it all.

    So ty for lookin into what i suggested.

    I stil have this need in my veins to make this .cap that shows events combined in a way that should not be allowed by the wizzard. You gonna hate me (again) for it ? or is it um ok to do so ?

  • For one,

    i do not hide, look in this treath

    For two,

    judge me on what i do with Construct.

    and here it is .. uploaded again .. be so nice to read opening post to place the .cap in the right context.

    ty

    http://www.mediafire.com/?tnymthxlmlj

  • captain ?

    do we agree that the cap you can download here ...

    http://www.mediafire.com/?tmdltuje2n1

    is "flow" driven ?

    and would you be so nice to point out the limitations ?

    besides the two that i know allready ..

    1/ i can not interrupt the mouse down event ..

    2/ i can not interrupt the balls behaviour to read out accurate collision dedection

    well maybe you are so nice to teach me how,

    your help is apriciated