Greetings everyone! I need to spawn player with factory and rename him, because when it spawns it’s name is instance01.
I think you cannot and you should organize your code to work with the name you get returned by factory.create (or collectionfactory.create).
But, I may missing something…
4 Likes
Then, can i change object id?
how do you do it currently?
self.player = factory.create(...)
self.player is now your global player id that you can use for everything. Is this what you want?
The question is why you want to change it?
Because i need to send messages to player from gui for moving him (i make game for mobile)
I think that Defold needs all url/id to be unique; this is the reason the engine prevents you to modify them.
There are many solutions to this problem. For example:
- the player spawner sends a message to the gui passing the url of the player
- the gui stores this somewhere in self, let’s say in self.player_url
- the gui uses this url to send messages to the player; something like msg.post(self.player_url, …)
I hope this helps.
2 Likes