Limited number of image points

Bugs will be moved here once resolved.

Post » Sun May 21, 2017 2:13 am

Problem Description
When modifying animations, there is a cap to the amount of image points allowed for some image frames.

For my project; I had to replace the animation's frames with better ones, so I deleted all the frames except the one with the most image points that I needed, so I did that and added the new frames, I then applied the maximum number of image points that I had on the first frame to the whole animation (so I didn't have to go to each of the new frames and individually add the image points I wanted and I used the button that allows you to automatically add that), then I moved to frame 1 and deleted some image points. I did the same with frame 2, then on frame 3 I realised I needed a bit more so I added additional image points to that frame, and that is where it stopped working, I only needed a few more image points for it, and for some reason the rest of the animation is able to have more than 21 image points.

Attach a Capx
https://www.dropbox.com/s/acj7d8uz0x8g9 ... .capx?dl=0

Description of Capx
Demonstrates the inability to assign additional image points where the designer has to replace frames for an animation due to a change in graphics.

Steps to Reproduce Bug
  • Step 1 - Have about 10 animation frames for a sprite.
  • Step 2 - Assign a reasonable number of image points like 30 image points to the first frame
  • Step 3 - For each image point on frame 0, assign it to the whole animation
  • Step 4 - Delete all frames but frame 0 (keep at least one of the frames with all the image points you assigned)
  • Step 5 - Add new frames until there is 10 and then use the first frame (frame 0) (with all the image points to assign to whole animation)
  • Step 6 - Go to Frame 1 and delete some image but not all of them, do the same for frame 2
  • Step 7 - On Frame 3, delete 20 image points (assuming you have 30 image points as previously said, do not delete all of the image points),
  • Step 8 - Try to add additional image points and see if it stops you from adding image points after a certain amount.

Observed Result
You cannot add additional image points to a certain frame.

Expected Result
I expect to be able to add as many image points as I want to.

Affected Browsers
  • Chrome: NO
  • FireFox: NO
  • Internet Explorer: NO

Operating System and Service Pack
Microsoft Windows 10 Pro v 10.0.14393 Build 14393

Construct 2 Version ID
Release 244 (64-bit) Built at 15:05:13 on April 19, 2017
B
15
S
4
G
2
Posts: 43
Reputation: 2,034

Post » Sun May 21, 2017 7:37 pm

This issue appears to be related to the names of the image points. If I rename them all, I can continue to add more. I renamed each one to "Imagepoint ##" where ## is consistent with the imagepoint index.

I can't fathom why you would need that many image points, but regardless of how many you use, you really should give them meaningful names.
B
54
S
19
G
13
Posts: 97
Reputation: 10,146

Post » Sun May 21, 2017 8:45 pm

A very interesting find! Well done!

If you were to use a sprite as an effect to be randomly placed over certain areas of an image, but random enough for the player to appreciate the effect without it being too repetitive, then you may need that many image points. Names would be fine except when there are so many image points and since I wasn't going to use the points for anything else and may use them again with other similar image frames where you would need to rename them again, I decided not to waste time in naming them all.
B
15
S
4
G
2
Posts: 43
Reputation: 2,034

Post » Sun May 21, 2017 8:58 pm

LukeNecklace wrote:A very interesting find! Well done!

If you were to use a sprite as an effect to be randomly placed over certain areas of an image, but random enough for the player to appreciate the effect without it being too repetitive, then you may need that many image points. Names would be fine except when there are so many image points and since I wasn't going to use the points for anything else and may use them again with other similar image frames where you would need to rename them again, I decided not to waste time in naming them all.


Not sure what kind of effect you are going for, but wouldn't it make more sense to use something like this?

X = random(Sprite.BBoxLeft, Sprite.BBoxRight)
Y = random(Sprite.BBoxTop, Sprite.BBoxBottom)

Or, if you wanted a bit more control on the spacing, you can abuse integer math to align them to a "grid"

X = floor(random(Sprite.Width) / 4) * 4 + Sprite.BBoxLeft
Y = floor(random(Sprite.Height) / 4) * 4 + Sprite.BBoxTop
B
54
S
19
G
13
Posts: 97
Reputation: 10,146

Post » Sun May 21, 2017 9:24 pm

I did indeed consider doing this. However, due to the shape of my image and the area needed for the effect, I found it easier to do image points then use a set position to image action with the random(round) expression to pick the image points at random. Otherwise, I would have the effect appearing out of place.
B
15
S
4
G
2
Posts: 43
Reputation: 2,034

Post » Mon Jun 26, 2017 12:01 pm

A much easier way to reproduce: create a new project, add a sprite, create an image point and rename it "Imagepoint 2". Now you can't add new image points. It tries to add the second imagepoint as "Imagepoint 2", but the name already exists. It works if you rename it to something else so the new imagepoint can use that name.

Fixed for the next build - it'll always choose a unique name now.
Scirra Founder
B
400
S
236
G
89
Posts: 24,546
Reputation: 195,471

Post » Mon Jun 26, 2017 12:03 pm

Oh I see.

Thanks Ash!
B
15
S
4
G
2
Posts: 43
Reputation: 2,034


Return to Closed bugs

Who is online

Users browsing this forum: No registered users and 3 guests