Please login or register.

Login with username, password and session length
Advanced search  

News:

This forum provides RSS feed. To query recent posts use this url. More...


Author Topic: Create Sprite  (Read 6030 times)

0 Members and 1 Guest are viewing this topic.

Krosad

  • Anate Studio
  • Occasional poster
  • **
  • Karma: 2
  • Offline Offline
  • Gender: Male
  • Posts: 97
  • anatestudio.com
    • View Profile
    • Anate Studio Web site
Create Sprite
« on: July 13, 2012, 12:00:53 PM »

Hi,

I want to create sprites in scene by this script

Code: [Select]
for (var b=0;b<10;b=b+10)
{
var tree = Scene.CreateEntity();
tree.SetSprite("gfx\tree1.png");
var c =  Random(1,3);
if (c == 3)
{
tree.X = b; tree.Y = 340;
}
}


... but I don`t know how to attach a name to every tree.
Logged

anarchist

  • Regular poster
  • ***
  • Karma: 5
  • Offline Offline
  • Gender: Male
  • Posts: 212
    • View Profile
Re: Create Sprite
« Reply #1 on: July 13, 2012, 05:01:30 PM »

Entities have several properties, one of which is the name. So you can use:

Code: WME Script
  1. tree.Name

Check the documentation http://docs.dead-code.org/, go to: Scripting in Wme -> Script Language reference and take a look at the "Entity Object" to learn what else you can do with entities.
Logged

metamorphium

  • Global Moderator
  • Addicted to WME forum
  • *
  • Karma: 12
  • Offline Offline
  • Gender: Male
  • Posts: 1511
  • Vampires!
    • View Profile
    • CBE  software s.r.o.
Re: Create Sprite
« Reply #2 on: July 13, 2012, 05:46:57 PM »

Scene.CreateEntity(EntityName);
Logged
J.U.L.I.A. Enhanced Edition, Vampires!, J.U.L.I.A., J.U.L.I.A. Untold, Ghost in the Sheet

Krosad

  • Anate Studio
  • Occasional poster
  • **
  • Karma: 2
  • Offline Offline
  • Gender: Male
  • Posts: 97
  • anatestudio.com
    • View Profile
    • Anate Studio Web site
Re: Create Sprite
« Reply #3 on: July 13, 2012, 08:38:09 PM »

...oh sorry i find my mistake, it wasn`t in same names of entities, it was in first line
Code: [Select]
for (var b=0;b<10;b=b+10)it must be
Code: [Select]
for (var b=0;b<800;b=b+100)
but in anyway thanks

« Last Edit: July 13, 2012, 08:39:46 PM by Krosad »
Logged

Krosad

  • Anate Studio
  • Occasional poster
  • **
  • Karma: 2
  • Offline Offline
  • Gender: Male
  • Posts: 97
  • anatestudio.com
    • View Profile
    • Anate Studio Web site
Re: Create Sprite
« Reply #4 on: July 13, 2012, 09:16:38 PM »

i`ve got another trouble. Trees appears on the foreground, i need them in the back.
i try GetLayer and AddEntity methods, but it doesn`t work

Code: [Select]
for (var b=0;b<800;b=b+50)
{
var tree = Scene.GetLayer("flora").AddEntity("tr");
tree.SetSprite("gfx\tree1.png");
tree.X = b; tree.Y = 340;
}
Logged

anarchist

  • Regular poster
  • ***
  • Karma: 5
  • Offline Offline
  • Gender: Male
  • Posts: 212
    • View Profile
Re: Create Sprite
« Reply #5 on: July 14, 2012, 10:31:26 AM »

This command:
Code: WME Script
  1. Scene.GetLayer("flora").AddEntity("tr")
must give you a syntax error, you are only allowed one level of Object.Function

What I believe you should do is get the layer and then use the Layer method InsertEntity(Index, EntityName)
Code: WME Script
  1. var sceneLayer = Scene.GetLayer("flora");
  2. var tree = sceneLayer.InsertEntity(indexValue, "tr");
  3.  

And play with indexValue to find the position right in front of the background and before all other objects. I think the value 1 will work.
Logged

Krosad

  • Anate Studio
  • Occasional poster
  • **
  • Karma: 2
  • Offline Offline
  • Gender: Male
  • Posts: 97
  • anatestudio.com
    • View Profile
    • Anate Studio Web site
Re: Create Sprite
« Reply #6 on: July 16, 2012, 02:22:10 PM »

I have finished my trees generator,
can someone check out?

Code: [Select]

///////////////////////// trees initialisation
for (var b=0;b<800;b=b+50)
{
var tree_frequency =  Random(1,4);
if (tree_frequency == 3) // trees far
{
var flora = Scene.GetLayer("flora");
var tree_f = flora.AddEntity(2, "tr_f");
var chose_tree_f = Random(1,2);
if (chose_tree_f == 1) tree_f.SetSprite("gfx\tree1_f.sprite");
if (chose_tree_f == 2) tree_f.SetSprite("gfx\tree2_f.sprite");
tree_f.X = b; tree_f.Y = 450; tree_f.Scale = 100; tree_f.Interactive = false;
}
if (tree_frequency == 4) // trees near
{
var main = Scene.GetLayer("main");
var tree_n = main.AddEntity(2, "tr_n");
var chose_tree_n = Random(1,2);
if (chose_tree_n == 1) tree_n.SetSprite("gfx\tree1_n.sprite");
if (chose_tree_n == 2) tree_n.SetSprite("gfx\tree2_n.sprite");
tree_n.X = b; tree_n.Y = 450; tree_n.Scale = 100; tree_n.Interactive = false;
}
}

Logged

anarchist

  • Regular poster
  • ***
  • Karma: 5
  • Offline Offline
  • Gender: Male
  • Posts: 212
    • View Profile
Re: Create Sprite
« Reply #7 on: July 17, 2012, 04:49:16 PM »

Replace "AddEntity" with "InsertEntity".
Logged

Krosad

  • Anate Studio
  • Occasional poster
  • **
  • Karma: 2
  • Offline Offline
  • Gender: Male
  • Posts: 97
  • anatestudio.com
    • View Profile
    • Anate Studio Web site
Re: Create Sprite
« Reply #8 on: July 19, 2012, 03:58:31 PM »

What is the difference?
Logged

anarchist

  • Regular poster
  • ***
  • Karma: 5
  • Offline Offline
  • Gender: Male
  • Posts: 212
    • View Profile
Re: Create Sprite
« Reply #9 on: July 19, 2012, 04:56:18 PM »

Logged
 

Page created in 0.052 seconds with 21 queries.