If you add a single event, that sets the animation frame, this will pick ALL instances of an object. So as you've witnessed, it will change all blood splatters currently in existance, not just newly created ones.
The "Create object" will automatically pick the created object for us. So if you change the animation frame within the same event like we did, then it will only change this particular splatter.
For example "Repeat 2 times" of an event means, this whole block will be repeated 2 times from top to bottom. Like this:
- Create 1 blood sprite
- Change its animation frame randomly
- Create 1 blood sprite
- Change its animation frame randomly
As you can see, it created 2 blood sprites, but both set an individual animation frame. If you want all of them to be the same, you could define the random number for the animation frame before starting the repeat event, then use that generated number so all blood sprites will be the same.
This is what you want:
- splatterType = Set to number of splatter animation frames
- Create 1 blood sprite
- Change its animation frame to "splatterType"
- Create 1 blood sprite
- Change its animation frame to "splatterType"
Which will look like this:
https://easyupload.io/fog103
Tip:
Add the behavior "Destroy outside of layout" to the "Splotch" sprite. Otherwise the engine is still wasting resources to calculate splatters outside of your screen.