[Javascript] EaselJS probleem spawnen meerdere enemies*

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • venigo
  • Registratie: December 2007
  • Laatst online: 25-06 00:11

venigo

Thanks! Greetz!

Topicstarter
Heren,

Nogmaals mijn excuses van het vorige topic met karige informatie.

Als volgt.

Ik ben bezig met een simpele game en probeer meerdere enemies te laten spawnen. Maar ik krijg het niet voor elkaar. Al verschillende oplossingen geprobeerd, maar het zou naar mijn inzien moeten werken met een Array. Vreemd genoeg krijg ik nu errors dat de var = enemy; niet bestaat terwijl deze wel gewoon aanwezig is.

Betreffende stuk code waarin het fout gaat:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
function makeEnemy(){

var enemydirection;
enemydirection = (Math.random() * 10);

        if (enemydirection <= 5) {
        enemy.x = canvas.width +75;
        enemy.scaleX = 1;
        }
        else 
    {
        enemy.x = 0-75;
        enemy.scaleX = -1;
       }

enemy = new Array();

/////////////
        enemy[0] = new Bitmap(enemyImage);
        enemy[0].regx = enemy.width/2;
        enemy[0].regY = enemy.height/2;
        enemy[0].x = canvas.width + Math.random() * 960;
        enemy[0].y = 255;
    enemy[0].x = enemy.x +10;
    enemy[0].scaleX = 1;

        enemy[1] = new Bitmap(enemyImage);
        enemy[1].regx = enemy.width/2;
        enemy[1].regY = enemy.height/2;
        enemy[1].x = canvas.width + Math.random() * 961;
        enemy[1].y = 255;
    enemy[1].x = enemy.x +11;
    enemy[1].scaleX = 1;

        enemy[2] = new Bitmap(enemyImage);
        enemy[2].regx = enemy.width/2;
        enemy[2].regY = enemy.height/2;
        enemy[2].x = canvas.width + Math.random() * 961;
        enemy[2].y = 255;
    enemy[2].x = enemy.x +11;
    enemy[2].scaleX = 1;
        
/////////////

    for (var i=0; i<enemy.length;i++){
        stage.addChild(enemy[i]);
    }

}


Een enemy is geen probleem dit werkt keurig.. Normaliter zou dit geen probleem moeten zijn, enkel ben nu al zolang bezig op dit punt dat het eens tijd wordt om een suggestie of tip te vragen.

Link naar de game:

*snip*


Bij voorbaat dank. (en hopelijk is het zo wel een goede ts).

[ Voor 1% gewijzigd door RobIII op 14-01-2013 15:34 ]


Acties:
  • +1 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
venigo schreef op maandag 14 januari 2013 @ 15:26:
Link naar de game:
...
Bij voorbaat dank. (en hopelijk is het zo wel een goede ts).
Nou; als je zo nodig iets wil demonstreren kun je dat doen met een testcase; een paar relevante(!) stukken code posten of een JSFiddle maken; nogmaals: we gaan je game niet debuggen en daarbij valt je link onder spam

Maar laten we 't eens zo proberen: lees de foutmelding eens? En kijk vervolgens eens waar je de var enemy dan declareert en waar je 'm voor 't eerst gebruikt? Sterker: de foutmelding bevat geheid een regelnummer; doe eens gek en zoek de specifieke regel er eens bij? Als je de fout dan nog niet ziet weet ik 't ook niet...

Hint: je hebt 't over een enemy op regel 7/12, declareert 'm op regel 16 en maakt dan een array aan die eigenlijk enemies had moeten heten. Immers; in een array zitten doorgaans meer dan 1 enemy ;)

Overigens zie ik even niet waarom je EaselJS in je topictitel hebt staan; hoe is dat relevant hier? En als laatste wil ik graag opmerken dat je game niet echt "gepast" is; misschien dat je daar ook nog even over wil nadenken voordat je zoiets aan anderen laat zien :X

[ Voor 25% gewijzigd door RobIII op 14-01-2013 15:44 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • GBCHEATER
  • Registratie: Juni 2003
  • Laatst online: 17-09-2024
Ik zie op regel 7 (of 12) dat je al een enemy aanspreekt, terwijl ik daarboven geen enemy decleratie zie? Is dat misschien de reden?

Acties:
  • 0 Henk 'm!

  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 11:15

TheNephilim

Wtfuzzle

In plaats van meerdere enemies in een array te gooien, kun je toch ook gewoon de for loop met var enemies = 3; doen? Het enige verschil tussen de enemies is 1px terwijl je toch al random gebruikt.

---
RobIII schreef op maandag 14 januari 2013 @ 15:36:
[...]

En als laatste wil ik graag opmerken dat je game niet echt "gepast" is; misschien dat je daar ook nog even over wil nadenken voordat je zoiets aan anderen laat zien :X
Je maakt ons nieuwsgierig! :+