18. april 2005 - 15:34
Der er
4 kommentarer
bounds problem
hvordan kan jeg lave sådan en bound hvis man styre sig selv oppe fra og ens movieclips instance name er: person og bounds instance name er: land det skal lige siges at det er bagrunden der bevæger sig og den har denne action: onClipEvent (enterFrame) { if (Key.isDown(Key.UP) && Key.isDown(Key.RIGHT)) { setProperty(this, _y, this._y + 1); setProperty(this, _x, this._x - 1); } else if (Key.isDown(Key.DOWN) && Key.isDown(Key.RIGHT)) { setProperty(this, _y, this._y - 1); setProperty(this, _x, this._x - 1); } else if (Key.isDown(Key.UP) && Key.isDown(Key.LEFT)) { setProperty(this, _y, this._y + 1); setProperty(this, _x, this._x + 1); } else if (Key.isDown(Key.DOWN) && Key.isDown(Key.LEFT)) { setProperty(this, _y, this._y - 1); setProperty(this, _x, this._x + 1); } else if (Key.isDown(Key.LEFT)) { setProperty(this, _x, this._x +1); } else if (Key.isDown(Key.RIGHT)) { setProperty(this, _x, this._x - 1); } else if (Key.isDown(Key.DOWN)) { setProperty(this, _y, this._y - 1); } else if (Key.isDown(Key.UP)) { setProperty(this, _y, this._y + 1); } else if (Key.isDown(Key.SPACE)) { setProperty(this, _y, this._y -1); setProperty(this, _x, this._x -1); } } såååå hvad er actionen til kortet så at ens bil (et andet movieclip) ikke støder ind i "land" movieclippet? svar udbedes tak
Annonceindlæg fra Barco
18. april 2005 - 16:18
#1
For også lige at gøre din kode lidt nyere og kortere: Følgende sættes i 1. frame på det mc hvori baggrunden og bilen ligger: onEnterFrame = function(){ var xspeed = 0; var yspeed = 0; if(Key.isDown(Key.SPACE)){ xpeed = -1; yspeed = -1; } if(Key.isDown(Key.LEFT)) xspeed = 1; else if(Key.isDown(Key.RIGHT)) xpseed = -1; if(Key.isDown(Key.UP)) yspeed = 1; else if(Key.isDown(Key.DOWN)) yspeed = -1; BAGGRUND._x += xspeed; BAGGRUND._y += yspeed; if(BAGGRUND.hitTest(BIL){ BAGGRUND._x -= xspeed; BAGGRUND._y -= yspeed; } }; Sådan ca. ;)
18. april 2005 - 17:18
#3
joo... men ovenstående er bare lidt smartere... I hvert fald skal du have de der setProperty væk - det er noget Flash4/5 snask, som man ikke vil røre med en ildtang... Her er en mindre ændring så: onClipEvent (enterFrame) { var xspeed = 0; var yspeed = 0; if (Key.isDown(Key.UP) && Key.isDown(Key.RIGHT)) { yspeed = 1; xpeed = -1; } else if (Key.isDown(Key.DOWN) && Key.isDown(Key.RIGHT)) { yspeed = -1; xspeed = -1; } else if (Key.isDown(Key.UP) && Key.isDown(Key.LEFT)) { yspeed = 1; xspeed = 1; } else if (Key.isDown(Key.DOWN) && Key.isDown(Key.LEFT)) { yspeed = -1; xspeed = 1; } else if (Key.isDown(Key.LEFT)) { xspeed = 1; } else if (Key.isDown(Key.RIGHT)) { xspeed = -1 } else if (Key.isDown(Key.DOWN)) { yspeed = -1; } else if (Key.isDown(Key.UP)) { yspeed = 1; } else if (Key.isDown(Key.SPACE)) { yspeed = -1; xspeed = -1; } this._x += xspeed; this._y += yspeed; if(this.hitTest(this._parent.land)){ this._x -= xspeed; this._y -= yspeed; } } Det skulle vist være den simpleste omformning af dit script...