-
[help] placing units on a map
I need to place units on a map. The map has areas where the units cannot go.
Here's my code:
Code:
onClipEvent (mouseDown) {
if (setup=true) {
for (i2=0; i1 < _root.numisl; i1++;) {
if (this.hitTest(_root["land"+i1]._x,_root["land"+i1]._y)) {
_root.errmsg="Cannot Place Ships on Islands!";
} else {
stopDrag();
}
}
}
the setup boolean is to see if the gameplay has started or if it's still in setup mode. The numisl variable is the number of MCs where the unit cannot be placed.
The error I get is "Scene=RandomMapGame, Layer=Boats, Frame=1: Line 17: Unexpected '}' encountered
}"
When I delete that '}' I get this message "Scene=RandomMapGame, Layer=Boats, Frame=1: Line 4: ')' expected
for (i2=0; i1 < _root.numisl; i1++ {"
Is there a way around this?
-
Re: [help] placing units on a map
Code:
onClipEvent (mouseDown) {
if (setup) {
for (i1=0; i1 < _root.numisl; i1++) {
if (this.hitTest(_root["land"+i1]._x,_root["land"+i1]._y)) {
_root.errmsg="Cannot Place Ships on Islands!";
} else {
stopDrag();
}
}
}
try it.
-
well the error is gone, but the hittest isn't working. I'm gonna fool around with it for a while and try to figure it out.
thanks a ton! didn't realise how sloppy i had written it... I must be getting tired.
I'm doing the hittest on duplicated movieclips, hence the for loop in order to detect them all. It seems that only the first duplicate clip is being detected by the for loop.
i can click on any of the others and the unit is placed, but when I click on the first duplicate the errmsg shows up. i'm confused!
Last edited by Wattz; 01-19-2004 at 04:46 AM.
-
You just had a ; after i1 and you also had an i2 in there, which i thought was strange since every where else you had i1.
-
latest attempt...
i tried adding another boolean in order to keep it checking for islands... i switched around the hittest to see if that was the problem...
nothing seems to make this want to work. the problem now is that the ship will be placed anywhere you click, as if the hittest didn't exist at all.
Code:
onClipEvent (mouseDown) {
i1=1;
if (setup=true) {
do {
for (i1=1; i1 < _root.numisl; i1++) {
if (_root["land"+i1].hitTest(this._x,this._y)) {
_root.errmsg="Cannot Place Ships on Islands!";
this.set=false;
} else {
_root.errmsg = "Carrier placed at " + this._x + "," + this._y;
stopDrag();
this.set=true;
}
}
} while ( this.set=false );
}
}
please help!
TIA.
-
Senior Member
code:
onClipEvent (mouseDown) {
setup = true;
for (i1=0; i1<_root.numisl; i1++) {
if (this.hitTest(_root["land"+i1]._x, _root["land"+i1]._y)) {
setup = false;
_root.errmsg = "Cannot Place Ships on Islands!";
break;
}
}
if (setup) {
stopDrag ();
_root.errmsg = "Carrier placed at "+this._x+","+this._y;
}
}
-
It doesn't seem to be working.
I've decided to change my approach. Now I'm thinking that I could declare some "safe zones" where the random islands will not be placed so that each player's ships can be placed in fair, opposite corners.
I want 2 150x150pixel squares in the top right corner and the bottom left. I've decided that this would require the random() function to randomize a range.
My question is now: How would I make a range? Like from 150-400 for the x value and 150-400 for the y value of the random islands.
I'm thinking an array... I'll try it out and see how it goes.
Thanks for all the help so far! I can't wait to show you this game!
-
Senior Member
Making random values in range.
Lets say you want them between 150 and 400.
ran_val=random(150+(400-150));
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|