« Pelikentän sijainnin nollaus (AS2) »
Tervetuloa, Kuokkavieras. Kirjaudu sisään tai rekisteröidy. Login tai Rekisteröidy.
Syyskuu 8th, 2010, 1:16pm



Koti | Apua | Haku | Login | Rekisteröidy | Viimeisimmät

Apukeittiön etusivu


   Apukeittiön Flash Foorumi
   Flash keskustelu
   Flash ongelmat
   Pelikentän sijainnin nollaus (AS2)
Sivuja: 1 Vastaa | Ilmoita vastauksista | Lähetä aihe | Tulosta 
   Kirjoittaja  Aihe: Pelikentän sijainnin nollaus (AS2)  (Luettu 239 kertaa)
KerT
Vakio
**

Kirjoituksia: 57




   

WWW | E-Mail
Pelikentän sijainnin nollaus (AS2)
« Päiväys: Joulukuu 12th, 2009, 11:39am »
| Vastaa lainauksella | Muokkaa

Mulla on pelikenttä joka liikkuu pelin aikana ja itse pelaajaa pysyy paikalla.
Kun peli alkaa:
  tiles._x = 220;
  tiles._y = 200;

Ja kun pelaajaa kuolee, pelikentän pitäisi nollautua taas.
Ja sehän onnistuu kun laitan vaan taas samat x ja y sijainnit.

Mutta haluaisin että kenttä siirtyy sujuvasti takaisin 0 tilaan.
Saan sen toimimaan näin:

Code:
_root.onEnterFrame = function() {
     if (tiles._x < 220) { tiles._x++; }
     if (tiles._x > 220) { tiles._x--; }
     if (tiles._y < 200) { tiles._y++; }
     if (tiles._y > 200) { tiles._y--; }
}

mutta kenttä liikkuu liian hidasti.
Jos taas laitan +=10; kenttä liikkuu sopivan nopeasti, mutta ei välttämätte mene tasan 220/200 ja jää "pomppimaan".

Miten saan sen liikkumaan oikein, niin että kenttä pysähtyy tasan 220/200?
timo
SuperSankari
*****

Kirjoituksia: 1033



?
   

WWW |
Re: Pelikentän sijainnin nollaus (AS2)
« Vastaa #1 Päiväys: Joulukuu 13th, 2009, 12:52pm »
| Vastaa lainauksella | Muokkaa

Säästyt if-lauseilta, kun käytät jotain olemassa olevaa tween-kirjastoa. Mutta tässä yksi tapa:


Code:


var _xPos:Number = 220;
var _speed:Number = 10;

_root.onEnterFrame = function()
{
  if (tiles._x > _xPos)
  {
     tiles._x -= _speed;
     if (tiles._x < _xPos) tiles._x = _xPos;
  }
 
  else if (tiles._x < _xPos)
  {
     tiles._x += _speed;
     if (tiles._x > _xPos) tiles._x = _xPos;
  }
}


Ja sama tietysti _y:lle. Eli aika sotkuksi menee. Lisäksi kun halutut arvot on saavutettu, haluat luultavasti poistaa onEnterFrame-kuuntelijan.


Code:

_root.onEnterFrame = null;

Portfolio - Blogi - Great Apes
BoWa
Hörhö
***

Kirjoituksia: 102



Eipäs tule juuri nyt mitään mieleen..
   

E-Mail
Re: Pelikentän sijainnin nollaus (AS2)
« Vastaa #2 Päiväys: Joulukuu 15th, 2009, 3:06pm »
| Vastaa lainauksella | Muokkaa

Hyvä sellainen on TweenMax/lite eli trollaas tuolta http://blog.greensock.com/tweenlite/

BoWa,

ps. Virallisesti tulisi välttää _x ja _y position suoraan käsittelyä (pyöristyksistä johtuen) vaan ainoastaan sijoittaa arvo niihin.
KerT
Vakio
**

Kirjoituksia: 57




   

WWW | E-Mail
Re: Pelikentän sijainnin nollaus (AS2)
« Vastaa #3 Päiväys: Joulukuu 20th, 2009, 12:10pm »
| Vastaa lainauksella | Muokkaa

Joo, Kiitos! Sain toimimaan.
Sivuja: 1 Vastaa | Ilmoita vastauksista | Lähetä aihe | Tulosta 
Siirry alueelle:


Apukeittiön Flash Foorumi (http://www.apukeittio.fi/keskustelu/YaBB.pl)

Powered by YaBB 1 Gold - Release (Yet Another Bulletin Board)
Copyright © 2000-2001, X-Null. All Rights Reserved.
Translation: designed