Animation folders do not create unique names

Bugs will be moved here once resolved.

Post » Sun Sep 23, 2012 1:05 am

I'm making a fighting game and thus I have tons of animations per sprite. I've been organizing them into folders (ie High, Low), but (for example) putting "Attack" in both High and Low results in a "Animation name already taken" message - despite being in separate folders. The folder structure looks like this:



The above will not work as I cannot use the name Attack twice. I wouldn't mind if I had to type "High.Attack" or "High/Attack" in expressions if that is the only way to have unique names that reflect their folder structure.

Windows 7 Home Premium 64-bit w/ SP1
C2: 103.2 (64-bit)Trevor102012-09-23 01:27:18
Posts: 113
Reputation: 4,161

Post » Sun Sep 23, 2012 1:24 am

AttackLow and AttackHi/AttackHigh should work and eliminate your problem. I have a lot of anims in my project most of them are named by number. 1,2,3,4 etc. The folder is the only original name. I have yet to have a problem with any of them. No Idea why I can use the same names in different folders and you can't , weird.
Posts: 180
Reputation: 8,315

Post » Sun Sep 23, 2012 3:24 pm

It's not that weird. When you call an animation in the Sprite's actions list it only asks for the animation name. If you have two animations in Hero sprite called Attack, which one is it supposed to pick?

Individualizing names and coming up with conventions as MelVin suggested will only help you in the long run anyway.

The folders in the sprite's animation list are there purely for organizational purposes and cleanliness. Makes it easier for you to find an animation.

Instead what you should do is


so on and so forth.

EDIT: Just realized you also had suggested having an animation be listed as High.Attack, Low.Attack, etc... I'd have to doublecheck but I don't think you can do it that way as the Sprite animation requests a string, and strings CAN have periods in them and all manner of other characters. Also, you can't very well just leave it without the quotes and turn it into a command because High.Attack will just look for the "High" object and try to find the property "Attack". I honestly don't see any good way around it that won't call for a rewrite of the way animations and variables are called, which seems more trouble than it's worth. The method currently used is perfectly fine, and in fact encourages clean code in my opinion. Just rethink your organization.TL222012-09-23 15:30:50
Posts: 305
Reputation: 8,354

Post » Mon Sep 24, 2012 3:28 pm

This is by design at the moment. It would be difficult to change because if we require animations in folders to use a different name, it would break all existing projects which use animations in folders!

In the engine, animations are just a flat list, hence they have to have unique names regardless of their folder. The same goes for most things in Construct 2 actually: layouts, event sheets and objects must all use unique names regardless of their folder. The folders are just there to help you organise so you don't end up with one insane list of everything. I can't see a good way to change this easily right now, so I'm going to close as won't fix.
Scirra Founder
Posts: 22,821
Reputation: 176,106

Return to Closed bugs

Who is online

Users browsing this forum: No registered users and 2 guests