trvendetta
New member
- Katılım
- 20 Kas 2009
- Mesajlar
- 89
- Reaction score
- 0
- Puanları
- 0
İlk önce action script 3 olarak yeni bir sayfa açıyoruz sayfanın ayarlarını aşağıda bulunan propertiesden ayarlıyoruz(açık değilse Windows>propertiesden açabiliriz)aşağıdaki gibi sayfayı düzenliyoruz.
Timeline geliyoruz açk değilse (Window > Timeline) açıyoruz ve aşğıdaki gib sayfa ayarlarını yapıyoruz.
-aşağıdaki resimleri import ediyoruz File > Import > Import to Stage yeni bir movieclip oluşturyoruz boş olucak
1.frame carStraight 158x300 Flash As3 araba sürme oyunu hız göstergeli
2.frame carLeft 158x300 Flash As3 araba sürme oyunu hız göstergeli
3.frame carRight 158x300 Flash As3 araba sürme oyunu hız göstergeli
de bunlar gelicek sonra hepsine tek tek stop(); kodunu ekliycez nasılmı framye sağ tıklayıp actions panelini açıp.
sonra oluşturduğumuz movieclip ekrana taşıycaz car katmanına boyunu kendimize göre ayarlıycaz.
propertiesden carMc yapıcaz ismini
sonra spedd katmanına gelip text tool(t) aracıyla dynamic text oluşturcaz.
bu nun properties ismi speedeter olucak.
ve son olarakda action katmanına sağ tıklayıp action panelini açıp aşağıdaki kodları yazıcaz
ctrl +enter test edebilirsiniz kodların açıklamaları altlarında yazmakta.
kaynak dosya burada
önizleme
alıntı adresi
ingilizce olarak detaylı anlatım
Timeline geliyoruz açk değilse (Window > Timeline) açıyoruz ve aşğıdaki gib sayfa ayarlarını yapıyoruz.
-aşağıdaki resimleri import ediyoruz File > Import > Import to Stage yeni bir movieclip oluşturyoruz boş olucak
1.frame carStraight 158x300 Flash As3 araba sürme oyunu hız göstergeli
2.frame carLeft 158x300 Flash As3 araba sürme oyunu hız göstergeli
3.frame carRight 158x300 Flash As3 araba sürme oyunu hız göstergeli
de bunlar gelicek sonra hepsine tek tek stop(); kodunu ekliycez nasılmı framye sağ tıklayıp actions panelini açıp.
sonra oluşturduğumuz movieclip ekrana taşıycaz car katmanına boyunu kendimize göre ayarlıycaz.
propertiesden carMc yapıcaz ismini
sonra spedd katmanına gelip text tool(t) aracıyla dynamic text oluşturcaz.
bu nun properties ismi speedeter olucak.
ve son olarakda action katmanına sağ tıklayıp action panelini açıp aşağıdaki kodları yazıcaz
Kod:
var increment:Number = 0;
var carRotation:Number = carMC.rotation;
var posNeg:Number = 1;
var acceleration:Number = .05;
var speed:Number = 0;
var maxSpeed:Number = 50;
var keyLeftPressed:Boolean;
var keyRightPressed:Boolean;
var keyUpPressed:Boolean;
var spaceBarPressed:Boolean;
addEventListener(Event.ENTER_FRAME,onEnterFrameFunction);
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyPressed);
stage.addEventListener(KeyboardEvent.KEY_UP,keyReleased);
function onEnterFrameFunction(event:Event) {
speed = Math.round((increment)*5);
spedometer.text = String(speed);
if ((carMC.rotation < 180)&&(carMC.rotation >= 0)){
carRotation = carMC.rotation;
posNeg = 1;
}
if ((carMC.rotation < 0)&&(carMC.rotation > -180)){
carRotation = -1 * carMC.rotation;
posNeg = -1;
}
if (keyRightPressed) {
carMC.rotation += .5*increment;
carMC.gotoAndStop(3);
}
if (keyLeftPressed) {
carMC.rotation -= .5*increment;
carMC.gotoAndStop(2);
}
if (!keyLeftPressed && !keyRightPressed) {
carMC.gotoAndStop(1);
}
if (keyUpPressed) {
carMC.y -= ((90-carRotation)/90)*increment;
if (((carMC.rotation > 90)&&(carMC.rotation < 180))||((carMC.rotation < -90)&&(carMC.rotation > -180))) {
carMC.x += posNeg * (((((1-(carRotation/360))*360)-180)/90)*increment);
}
if (((carMC.rotation <= 90)&&(carMC.rotation > 0))||((carMC.rotation >= -90)&&(carMC.rotation < -1))) {
carMC.x += posNeg * ((carRotation)/90)*increment;
}
if (spaceBarPressed) {
increment -= .5*acceleration;
}
if (!spaceBarPressed && speed < maxSpeed) {
increment += acceleration;
}
}
else {
if (increment > 0 && spaceBarPressed) {
carMC.y -= ((90-carRotation)/90)*increment;
if (((carMC.rotation > 90)&&(carMC.rotation < 180))||((carMC.rotation < -90)&&(carMC.rotation > -180))) {
carMC.x += posNeg * (((((1-(carRotation/360))*360)-180)/90)*increment);
}
if (((carMC.rotation <= 90)&&(carMC.rotation > 0))||((carMC.rotation >= -90)&&(carMC.rotation < -1))) {
carMC.x += posNeg * ((carRotation)/90)*increment;
}
increment -= 4*acceleration;
}
else if (increment > 0) {
carMC.y -= ((90-carRotation)/90)*increment;
if (((carMC.rotation > 90)&&(carMC.rotation < 180))||((carMC.rotation < -90)&&(carMC.rotation > -180))) {
carMC.x += posNeg * (((((1-(carRotation/360))*360)-180)/90)*increment);
}
if (((carMC.rotation <= 90)&&(carMC.rotation > 0))||((carMC.rotation >= -90)&&(carMC.rotation < -1))) {
carMC.x += posNeg * ((carRotation)/90)*increment;
}
increment -= 1.5*acceleration;
}
else
increment = 0;
}
}
function keyPressed(event:KeyboardEvent) {
if (event.keyCode == Keyboard.LEFT)
keyLeftPressed = true;
if (event.keyCode == Keyboard.RIGHT)
keyRightPressed = true;
if (event.keyCode == Keyboard.UP)
keyUpPressed = true;
if (event.keyCode == Keyboard.SPACE)
spaceBarPressed = true;
}
function keyReleased(event:KeyboardEvent) {
if (event.keyCode == Keyboard.LEFT)
keyLeftPressed = false;
if (event.keyCode == Keyboard.RIGHT)
keyRightPressed = false;
if (event.keyCode == Keyboard.UP)
keyUpPressed = false;
if (event.keyCode == Keyboard.SPACE)
spaceBarPressed = false;
}
kaynak dosya burada
önizleme
alıntı adresi
ingilizce olarak detaylı anlatım