I tried using Vilhjalmr's method, but it seems its not working. Example: Please login to see this attachment.
Maybe I should understand why not, first? Is it because during a foreach loop, all similar objects are completely ignored?
Posts by Kentronisk
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.
-
-
Thanks for the tips
With 2 at least slightly different suggestions, Ill conclude that there isnt one obvious way. Ill take a look at the example, and see if Im able to merge it into my own project! -
Hi
I have Group.Enemies, with a Flag named CanCollide. I also use Alterable Value A as HorizontalMovement, switching between 3 and -3, and an event Always moving the object left and right.
I also have an event Group.Enemies collides with Group.Enemies, then set HorizontalMovement *-1, to make it switch direction.Generally speaking, I have two questions:
#1)
If I add a condition to the collision event:
Collision between Group.Enemies and Group.Enemies
+ CanCollide of Group.Enemies = 1This will make only the object with CanCollide turn, which I guess makes sense.
But how can I make the event so that both flags must be 1 for the collision to take place? I could add a second group to handle collisions, but for the sake of understanding how it works, I wanna do it my way#2)
Maybe I will get the answer to this after #1 since its somewhat touching the same topic, but if I have 2 enemies with different speed, one of them occasionally reaches another enemy that is walking in the same direction. This makes both of them switch direction. How can I make this happen?:
If 2 enemies collide while one have positive HorizontalMovement and the other have negative HorizontalMovement (front to front collision), I want both to switch direction.
If 2 enemies collide while they both have positive HorizontalMovement or negative HorizontalMovement (one enemy collides with the other in the back), I want only the enemy behind to switch direction, while the slow one continues forward.Any ideas?
-
Yeah, thats what I did before too. It will be my backup plan.
Right now, I am thinking of this workaround;
- Have 1 shared Enemy Collision Box for all basic enemies, with various sizes in different animation frames.
- Have the Stopped-animation of each enemy-animation-object look like the placeholder, and have the moving ones in Walking animation.
- Have each enemy-animation-object pre-store an Altered Value of which Enemy Collision Box frame fits the size, and add all to Enemies group.
- Global event -> Start of Frame, foreach Enemy-group object, create an Enemy Collision Box and assign it to each enemy, and force it to the animation frame based on Altered Value.
- Add projectiles-object and other extra-objects to frames if I want the enemy to have the ability to use this skill in the current frame.For now, I can get away by storing 1 mandatory Enemy Collision Object in each frame for the Create Object reference, and other than that just putting my enemies around where I want them. And if I add Shoot behavior to an enemy, enabling this ability will be to add the object to the frame. I am also thinking I could use a generic projectile, and use some animation according to Altered Value of the Enemy-group object.
-
Hello
I am basically curious if something like Please login to see this link. is possible yet?
I am making a platformer game, where each frame is a new level. I also have one frame named "Enemies" where I store all possible enemies. Each enemy consists of at least 2 objects (one square used as collision mask, and another used to display animation always laying on top), and there could be projectiles too. What I want/hope to achieve is to only copy the Enemy Collision Mask object to other frames, and add behaviors to it to automatically import/create all other objects needed for it to get alive. That way, I can keep an Enemy Library frame, sort of, and only copy over one single object.Other tips on enemy management are also appreciated - its many years since I used Fusion last, maybe there are some new and better ways to do this now
-
-
Ohh, you mean you handle the collision in the main frame editor to set the String, and then handle what happens in the behavior.. Thats actually a great idea Ill keep this in mind!
-
There is a custom movement called "Circular" that will make the object move around a fixed location. Are you planning on having this object to move around an object that is also moving?
-
Good job! Nothing like some rogue code
-
Its working for me.
Are you sure you also have an event for "Save ini file"?
Secondly, do you try to run this from Fusion or from an exported file? Remember that Apppath$ is the location to the app. If you run this as a test in Fusion, I am not sure if there will even be an Apppath. Try export it, and run.Ill upload my project to you, so you can try if mine works. Export it to your desktop, and run the exe.
Please login to see this attachment.
-
I will look into arrays, which was what I had planned in the first place Maybe in Fusion3 there will be a way to link alterable values by names/ids rather than location or index.
Thanks for replies anyway -
Then you simply use the Alterable String A to check for collisions in your behavior instead
Gonna be careful correcting people in the sleepy state I am now, but is this not just a hard workaround for checking the collision on the actual object in the first place? I mean, since you cant check the Alterable String on a qualifier anyway, you would have to check the string of each single object. (I have never used strings, but I assume they work the same way as values :P)
-
Its just a little off math. I am way too tired to explain in depth why, but I can give it a shot tomorrow if you are very curious..
Here is a quick hotfix that should work, using an event for movement rather than the custom built in (less control with them). This will somewhat work as long as the movement speed is 1, 2, 4, 8, 16, 32Please login to see this attachment.
-
Hi, thanks for reply
Arrays is what I was first thinking of using.. Although an actual database sounds more straightforwardly. I am a little sceptical as to doing all these queries though. There will probably be like 100 queries every frame. I also looked into what databases that are available, and I see Sqlite is one of them. Seems like you can create a database in the memory, which is good. But it seems to have limitations to 1 table (?). What object did you have in mind for this?? -
Hey
There is one challenge that keeps on haunting me, and Im curious as to if there is a more efficient way than what I do. Basically, most of my objects in my game are in multiple groups. Ill take an example of a Super Mario game. This is basically how I would build a simple enemy:I make a group for Horizontal movement, that will require 2 Alterable Values: MovementSpeed (a constant number) and Direction (1 or -1).
I make a group for enemies that are killable by being jumped on. Lets just say this will require 1 Alterable Value for what the enemy will drop when it dies (coins, feather, mushroom, nothing).
I make a group for enemies that are killable by fireball, and give this 1 Alterable Value also for what the enemy will drop.
I make a group for enemies that will hurt Mario, and use 1 Alterable Value for the damage it does to Mario (so if Mario have a fire flower, 1 dmg will downgrade to just big, 2 dmg will downgrade to small and 3 dmg will instant kill).
So now, Alterable Value A, B, C, D and E are now occupied. If I make a new enemy that are not killable by being jumped on or shot by fire (say, a spike or just lava), the object will have to "waste" the first 4 Alterable Values, because they are irrelevant. This is a little bad in my opinion, but its not the biggest challenge. Lets say there are a bunch of more Alterable Values occupied (one for enemies that can be eaten by Yoshi and what he will spit out again, ++ lots others), I then decide that I want to add an Alterable Value to the group that are handling fireball. I want some enemies to take 2 or 3 hits. This is simple enough by just adding an Alterable Value FireballHealth or something to the enemies, but in my structure, this is getting a little tricky. I must then find the group that uses the last/lowest (closest to end) Alterable Value and use the next Alterable Value after this as the one handling the Health. At some point, this will just be a total mess.
So I am kinda curious as to if someone is having a clever technique to actually handle things like this? By the years, I am able to foresee a lot of this in my planning phase, but this happens everywhere. And I am mixing groups in every direction. Maybe I have enemies that the player can stand on, which will bring obstacles into the picture aswell, and obstacles uses Alterable Values that crashes with the enemy ones. Lots of possibilities..
-
A mouse click is triggered when you release the button as soon as pressing it. If you will not release the button soon enough it is not a click but holding. Clicking and holding(as in dragging) are not the same.I dont think this is quite correct in Fusion. A click is triggered once, when the mouse button is clicked (regardless of if its held down or released). A "being pressed" event should run for as long as the mouse button is down. With every press event, a click event also appears. Maybe its different in other exporters, since they play a bigger role on, say Android/iOS... But correct me if Im wrong :p
Cel, you can try adding 1 to counter while pressing down, and see if it continously adds 1. If it suddenly stops, there is a chance that your mouse goes into a "smart, power saving mode" and uses the release button as a wake-uper, instead of sending this event to the computer. There are a lot of fancy accessories that are just plain annoying.
-
Its a big chance this is the same technique as the Ultimate Fullscreen Object uses, but try run your game in Window mode, enable "Resize display to fill window size" and turn on the window border that gives you the possibility to resize the whole window. If this for some reason works, then you can use the Window Control object to resize your application to the size of the screen (and you can of course turn off the border again).
For the record, when I run an application with "Change Resolution Mode", my PC changes its resolution back to default whenever I minimize my game, and then back to the game resolution when I enter my game again. I have not tried this on your game though :b
-
Quote
You can do this to a few degrees though. In most of my games I use a switch, either Low/High quality across all platforms. I store this option as 0/1 as a global value. I then use this for all scaling/rotating qualities etc. Fusion will prompt you in the expression editor for a scale/rotate quality and you should answer 0/1 so I use the global value.
This is actually a pretty good idea!
A way to expand on this could be to make all graphics you want to be "upgradable" in low quality as default.
Then, on start of frame:if Global Value: High Quality == 1
--> Start foreach loop "Upgrade" for Upgradable_Graphics (will probably have to start one loop per unique object)On Foreach loop "Upgradable"
--> Create HQ_Graphic at 0,0 from Upgradable_Graphic
--> Destroy Upgradable_GraphicThis can be placed in a Group of Events that you immediately deactivate and dont have to worry about anymore .. Just an idea, though!
-
There is no built in effect for this.. But there are tweaks available. The first thing that comes to mind is to add the following event(s)
ObjA is overlapping ObjB
Compare two general values: abs(ObjA's X position) - abs(ObjB's X position) equals 0
Compare two general values: abs(ObjA's Y position) - abs(ObjB's Y position) equals 0abs means absolute, it will turn any number into a positive number. 25 = 25, -31 = 31. What this means is, if your first object is overlapping the second object, and the differences between the X and Y positions (if the hotspots overlap each other), then do some action. Of course, having this event occur only on this one pixel is probably gonna make the event trigger very rarely, depending on your movement. I would replace 0 with a higher number. Increasing this number will increase the hit detection around the hotspots. Hopefully you understand the idea of what Im saying :p
-
I got very curious now, since i have played a lot of Super Mario
What do you mean the camera does not follow when you use a spring? As far as I remember, the camera was pretty much always centered on Mario, as long as the camera would not go off the level (?)