Remember the difference between conditions and actions. Every frame, the events have their conditions checked and then, if true, it executes the actions. A condition will not make an event happen more often, only less. The Repeat n Times condition is the same as Always, except that after n frames it begins to return false and never again returns true.
Posts by Jacob
Welcome to our brand new Clickteam Community Hub! We hope you will enjoy using the new features, which we will be further expanding in the coming months.
A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.
Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!
Clickteam.
A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.
Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!
Clickteam.
-
-
The common term here is an 'easing algorithm' if you're looking for formulae online.
I can't see anything wrong with the formula you're using, but the easing formula I settled on was
Set X("Object") to (9 * X("Object") + X("Target")) / 10.0
I'd check to see what your conditions are that make it move. Is it just on an Always event? Does anything else affect the position?
-
-
You should really build your app so that collisions apply in logical places, but should you need to detect collisions on different layers, the easiest solution is to have a separate detector object on the layer you want to collision to happen, and always set the position to match your object. It will act as a collision mask on the correct layer, and collisions can resolve naturally.
The programming way to do this is compare positions manually, eg, right of object A > left of object B, but left of object A < right of object B, and handle the event that way. This is how collisions are handled by Fusion under the hood.
-
Depending on what platform support you're looking for, there is an extension created by Eliyahu called Deck of Cards that was designed to handle the deck functions.
-
Another tip if you know roughly the range of numbers you're dealing in is to just multiply them by 1000 or so in the array, so instead of 1.077 you'd have 1077 listed and then you can just divide when you handle the data.
-
I always like to advocate this little blog post here: Please login to see this link.
It doesn't speak about Fusion in particular, but the logic carries through to all programming.
-
Just to clarify for those concerned about how the expression editor handles decimals:
A number with no decimals is called an integer. A number with decimals is called a float. When you multiply or divide integers with one another, you will always get an integer result. If any of the involved numbers is a float, you will get a float as a result. This is why 48/32.0 will give a result of 1.5, while 48/32 will give a result of 1. In an integer, the decimal places are simply cut straight off the end. This leads to a handy trick you can use to snap objects to a grid.
X = X / 32 * 32
Y = Y / 32 * 32At first it will divide the position by 32, and since 32 is an integer the decimal places are cut off and it rounds down to the nearest whole number. Then when you multiply, it takes that rounded number which forces the result to be a multiple of 32. I see above there was a discrepancy in HTML5 with rounding which leads me to believe division might always produce floats (don't quote me, never tried it) on that platform, in which case you can manually cast your division to integers in order to force the behaviour.
X = int(X / 32) * 32
Y = int(Y / 32) * 32This is the optimal format as it removes any guesswork as to the underlying mechanics of the expression editor. There would be no change in result by changing 32 to 32.0 in this case.
-
Yes, there are several API extensions that will do this for various sites. I believe there is a Kongregate extension, too.
-
Repeat while pressed:
--> Add 1 to counterCounter is greater than 0
+X Repeat while pressed (right click on the condition and click negate to put the X there)
--> Set Jump Strength to Counter
--> Set Counter to 0
--> JumpBut I don't think you can trigger jumps using the default platform movement via events. Or set Jump Strength even. PMO should be able to do this rather easily, but you'd be better off coding your own engine. Search for DavidN's Custom Platforming tutorial. It's fairly basic and will walk you through making your own movement engine with fastloops. My personal choice however would be a simple vector jump system
You need two values: Acceleration (gravity), and Velocity (speed). Acceleration should be constant and you should set this to 1 or 2 or so (depending on the strength of gravity you want). Then you want the events
Always:
-->Add Acceleration to VelocityAlways:
-->Set Y Position to Y Position + VelocityThis will cause your player to accelerate downwards infinitely. To Jump, set Velocity to a negative value, like -10. This will take effect immediately and cause the player to shoot upward until gravity takes over and it returns to the ground. You will fall through the ground currently, but if you change the Add Acceleration to Velocity event to not occur when the player is overlapping the ground and then nudge the player up a bit when you are you can stop this from happening.
-
If you make a good game, you'll get good money for it. People are still getting figures in the tens of thousands of dollars for quality games, but the middle-rate games are declining in value.
-
My personal recommendation would be to use a Text Array rather than multiple lists. X = 0 could be your first list, with the dfiferent items corresponding to different Y values. Then to change the list you just change the X index you're scanning from. (3,4) would be the fourth item on the third list if you used one based indexes, (1, 6) would be the sixth item on the first list.
-
Basically your cost is the amount that would make it worth to you to do the project and not have a separate job at the same time. Enough to cover living expenses for the perceived time of development.
-
A handy workaround for the layer collisions is to have a separate collision mask object on a different layer and set its position to = your player, and then check teh other layer collisions using that instead.
If you make your objects actives, you can use the layer object's feature Always: Sort by Y Descending to automatically make objects with a higher Y coordinate appear in front of others
-
Check the scrolling coefficients. If you have them set different from 1 and your game is set to scroll somewhere else on start, it can appear that your objects aren't there. Also see if you have the Layer Object in frame, as that object has the ability to hide and show layers at runtime.
-
The trick is to not actually scroll, but just move the obstacles toward the player. When you create an object, Fusion automatically selects that object and will only apply actions to it. So you can do Create Object Pipe at 0,0, and then Set X Position of Pipe to 640 and Set Y Position of Pipe to random(200) to create varying heights of pipes. Then if you have a separate event Always: Set X Position of Pipe to "Pipe" ) - 5 they will move to the left and give your game the appearance of scrolling.
-
You could make a Time value that you constantly add to when you throw it, and then set the X Position to
Player X Position + Max Distance * sin( Time )
When Time = 180, the boomerang has returned to the player. This will give a physically realistic interpretation nearing how boomerangs operate in real life (while still constricted to one axis)
-
Using HWA, there are shaders that will allow you to rotate an active or layer visually. This does not affect the gameplay physics. You will have to code the rotation physics manually. However if you use HWA you cannot export to mobile or flash. If those are your targets, your best bet is to either render everything in Surface vector-like (slow) or manually rotate the actives relative to the center of the screen. This is the method used by Hempuli in Once in Space, a delightful little game you can find on the google.
-
Nivram wrote a User Manual for MMF2 that contains all the limits the community generally knows about. You may be able to find it at his Castles of Britain site (I forget the URL)
-
Protip: When you press the button and add one to the value, replace the add one with Set Value to (Value + 1) mod Number_of_Characters and it will cycle back to the first one when you get to the end (as long as your first character is 0)