Giter Site home page Giter Site logo

Comments (35)

olafurw avatar olafurw commented on May 5, 2024

This is my current gripe with Tiled. I have almost 1k tiles and going through them all is a pain.

from tiled.

 avatar commented on May 5, 2024

Is this issue in the process of being fixed?
I cannot use Tiled without this feature.
If nobody is working on this, then I will fix it myself...

from tiled.

bjorn avatar bjorn commented on May 5, 2024

I'm currently working on a different feature, so I can't promise this anytime soon. A quick workaround is to apply the new properties to all selected tiles (and take out the code that selects only the clicked one). But if you want to contribute this feature properly (like, display in gray the properties/values that aren't the same across all selected tiles or objects and only set those properties on the selection that changed rather than synchronizing all properties), your patch would be very welcome!

from tiled.

bjorn avatar bjorn commented on May 5, 2024

I want to note that if you have to set the same property on 1000 tiles, then maybe there's a better way to do what you want... for example for collision data a common solution is to use a special collision layer and paint a single "collision tile" into that layer to mark colliding areas.

But I can see that this feature is really important to have, anyway.

from tiled.

olafurw avatar olafurw commented on May 5, 2024

Currently the library I am using (Slick) does not support multiple layers so at the moment that is not possible. But it's a good method if it would support it.

from tiled.

raistlin avatar raistlin commented on May 5, 2024

Is someone working on this?
I also miss this feature.
In my case I don't need collision true/false, what I really need is to store terrain type on every tile, so every unit on my game can walk onto certain types of terrain.

from tiled.

brandonbeaumia avatar brandonbeaumia commented on May 5, 2024

I'm using Tileset / Layer / Object / Object-by-name inheritance (VERY carefully) to avoid needing to edit tons of tiles one by one. I definitely agree that this is needed, and it's on the top of my wishlist right now. If Tiled could support this feature, it would let me break out of the inheritance model in a few places and help to simplify both my maps and code.

from tiled.

DjPale avatar DjPale commented on May 5, 2024

Tiled is a great map editor, but to use it to create proper levels, the property system needs to be improved. For example, due to objects lacking any type of common, default properties, it is actually better to use tiles in the object layer and derive the properties from the tileset instead of the objects themselves. Another thing that should be easy is to select several tiles in the tileset to mark them as 'Ground=false' or similar, to auto-generate collision masks for example. The following features would improve Tiled massively:

  • Multiple property selection and editing
  • Easies copying of properties
  • Object property type templates

from tiled.

bitcraft avatar bitcraft commented on May 5, 2024

I'm also using properties and agree that it is inconvenient that properties cannot be modified en masse, but I have a work around that works well for now. I simply have created a tileset (.tsx) and when I need to make changes, I do so in the the tileset file. It is just xml, so it can be edited very easily. Hope that helps someone.

from tiled.

noam-c avatar noam-c commented on May 5, 2024

Maps, in almost all cases, are far bigger than their tilesets. Therefore, tile-based defaults save map makers a lot of time they would otherwise spend creating new layers to set every new map's attributes. It's also less error-prone because those properties no longer need to be manually set in every map.
There are a few workarounds noted above, but I really feel that mass-editing tile properties would save a lot of time and simplify the map-making process.

from tiled.

clayheaton avatar clayheaton commented on May 5, 2024

Any plans to tackle this? It would be a HUGE time saver.

from tiled.

william-reed avatar william-reed commented on May 5, 2024

yes this would be a help

from tiled.

bjorn avatar bjorn commented on May 5, 2024

To all interested in this feature, please consider placing a bounty on this issue over at bountysource.com. I don't have much spare time and getting money in return for time spent on Tiled will prioritize it over other things I'd like to do. When the bounty reaches $250 this issue will be at the top of my list (and of course others are also still free to take a stab at it).

Long-term I'd like to spend one day a week on Tiled but so far there aren't enough sponsors to compensate for the loss of regular income this would mean. If you'd like to help with that I recommend using https://www.gittip.com/bjorn/

from tiled.

TiledUser avatar TiledUser commented on May 5, 2024

Just out of curiosity, bjorn- is there an aspect of Tiled you consider a higher priority than editing multiple tiles properties? From where I sit, it is by far the least pleasant part of using Tiled. If I am using more than three tiles, I use a clunky ass tileset editor I wrote in visual basic just to stub out my properties whenever I create a new map. It is incredibly tedious to:

  1. Right click tile in Tileset.
  2. Choose "Tile properties..."
  3. Move mouse cursor to properties dialogue box, Property name column.
  4. Double click Property name field
  5. Type in Property name.
    5a. Make sure I didn't mistype Property name.
  6. Move mouse cursor to properties dialogue box, Property value column.
  7. Double click Property value field.
  8. Type in Property value.
    8a. Make sure I didn't mistype Property value.
  9. Repeat steps 4-7a for each of the tile's Properties.
  10. Click OK.

These 10 steps must be repeated for every tile in the tileset. For a modest 2x2 tileset, that is 40 steps just to set the initial tile properties. I am sure you're aware that most Tiled users are working with tilesets larger than 2x2.

Sorry I can't post a bounty for this feature; I'm simply too broke. I only write this because Tiled is otherwise quite useful and making tile properties painlessly editable would make the difference between "I use this software because there's nothing better." and "I use this software because it's THE BEST!"

from tiled.

TiledUser avatar TiledUser commented on May 5, 2024

As you can see, I am prone to mistyping metadata. ;)

from tiled.

TiledUser avatar TiledUser commented on May 5, 2024

I actually wrote a crappy tileset editor in Basic because manually editing tilesets is just as tedious as manually editing tilemaps, which is why I downloaded Tiled in the first place. Tiled is obviously useful (I am using it after all), but being able to painlessly edit tile properties inside Tiled would make me feel like I was just miraculously cured of something lethal.

from tiled.

TiledUser avatar TiledUser commented on May 5, 2024

Argh, that last one is not only not what I meant to post, it's not even what was in the textbox. I just want to attach an frigging screenshot, jeez.

from tiled.

TiledUser avatar TiledUser commented on May 5, 2024

Since image attachments aren't working, here:

http://i.imgur.com/ix86Als.png

This would make the workflow less painful if editing multiple tile properties is too much to implement just now. The next and previous buttons should probably apply changes. Or add an apply changes button.

from tiled.

bjorn avatar bjorn commented on May 5, 2024

@TiledUser Please at least update to a Tiled daily build to take advantage of the new persistent properties panel. That saves you at least half of your steps. See http://blog.mapeditor.org/2013/04/tiled-development-update.html

To answer the question of priority:

  • Features people are ready to pay for take higher priority (just take a look at all the new stuff added after 0.9: the new Properties dock, object flipping & rotation, image collection tilesets, etc.)
  • Integrating changes developed by others also take higher priority (for example the Python plugin).
  • Things that are fun automatically get higher priority. As a hobby project and I work on it to relax rather than playing games or watching movies.
  • Small tasks get priority, because I usually have only a short amount of time available and then I'm looking for something I can finish.

from tiled.

parkm avatar parkm commented on May 5, 2024

I currently have a basic implementation of this feature. When changing a property on one object it will sync that property to all selected objects. It works with built in properties (size, x, y, etc) and with custom properties.

It still needs a bit more work but I could work on finishing this feature. https://github.com/despondentdonkey/tiled/tree/donkey
Here's my implementation so far. It basically just executes the same functions that changes the properties for the one object, but on all selected objects. I'm not sure if this is the best approach so I'm looking for some critiques.

I was also thinking of having a check box that will allow you to enable or disable this feature, it would be in the properties dock.

edit:
Just realized this is about tile properties rather than object properties. My solution only works for objects so I'll probably go to #347.

from tiled.

davilca avatar davilca commented on May 5, 2024

As a tile map editor, this feature is a must have. It's that simple.

@despondentdonkey I'm gonna try to compile your solution for Mac and try it out.

from tiled.

aadityak avatar aadityak commented on May 5, 2024

This would make using tiled a lot easier.

from tiled.

AxiomVerge avatar AxiomVerge commented on May 5, 2024

I would really like this feature as well.

from tiled.

bjorn avatar bjorn commented on May 5, 2024

Now that #644 is merged this issue is resolved. It could mainly still be improved regarding visualization of different values, which is something @despondentdonkey already started working on as well.

@despondentdonkey, you may claim the $20 bounty at https://www.bountysource.com/issues/128209-allow-changing-the-properties-of-multiple-tiles-simultaneously

from tiled.

AxiomVerge avatar AxiomVerge commented on May 5, 2024

When does it get built? :)

from tiled.

bjorn avatar bjorn commented on May 5, 2024

@AxiomVerge I've fired up the Windows and Mac OS X daily builds now, so should be there in about 10 minutes. The Ubuntu packages take their own pace.

from tiled.

AxiomVerge avatar AxiomVerge commented on May 5, 2024

Got it. This is going to make creating new tilesets so much faster!!

from tiled.

abelnation avatar abelnation commented on May 5, 2024

Does this fix support editing collision regions for multiple selected tiles? When I do so, it doesn't visually report that any individual tile in the selection has it's region set.

from tiled.

bjorn avatar bjorn commented on May 5, 2024

Does this fix support editing collision regions for multiple selected tiles? When I do so, it doesn't visually report that any individual tile in the selection has it's region set.

No, that's not supported. I'm not quite sure how that would work, since these tiles could already have different collision shapes associated with them.

from tiled.

abelnation avatar abelnation commented on May 5, 2024

@bjorn i guess the thought is that it's a convenient way to rapidly overwrite the collision value for all those tiles. e.g.:

  1. select 5 tiles
  2. set region to a square
  3. select 1 of those 5 tiles
  4. it's collision region should now be set to a square

If a previous value was set for any of the 5 tiles, it would be overwritten. Thoughts?

from tiled.

bjorn avatar bjorn commented on May 5, 2024

@abelnation That could work, but I do think it would require some feedback to the user in case not all selected tiles already have the same collision shapes.

from tiled.

abelnation avatar abelnation commented on May 5, 2024

I guess I'm a little confused on what setting a collision area when you have multiple tiles selected would otherwise do? Does it currently have some effect that I'm misunderstanding?

Anyways, thanks for listening :) love the tool, and I appreciate the work you put into it!

from tiled.

bjorn avatar bjorn commented on May 5, 2024

I guess I'm a little confused on what setting a collision area when you have multiple tiles selected would otherwise do? Does it currently have some effect that I'm misunderstanding?

No, currently it simply only affects the last clicked tile, not the full selection. It is only displaying the last clicked tile and its collision shapes, so when upon editing those the changed shapes would be applied to all selected tiles, you could be changing the collision shapes of the other tiles unintentionally.

Anyways, thanks for listening :) love the tool, and I appreciate the work you put into it!

Happy to hear that!

from tiled.

adsilcott avatar adsilcott commented on May 5, 2024

I second @abelnation , setting the collisions on multiple tiles would be wonderful, considering that a huge percentage of them tend to be exactly the same-- full collision platforms for example. Even with a "Are you sure?" dialog this would be a huge time saver. Should this be opened as a new issue?

from tiled.

bjorn avatar bjorn commented on May 5, 2024

@adsilcott Sure, please open a new issue about this, thanks!

from tiled.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.