Gutshot Mesaj tarihi: Haziran 21, 2013 Mesaj tarihi: Haziran 21, 2013 ödev olarak çocuklar için bir iphone uygulaması yapıyorum. aşağıdan balonlar çıkıyor kullanıcı tıklayıp patlatıyor. yukarıdan yok olana kadar tıklayamamışsa bir canı gidiyor. bu balonların spawn süresi zamanla çabuklaşsın istiyorum. yani öyle hep aynı hızda devam etmesin ve devam ettikçe zorlaşsın oyun. kodum aşağıda. aslında bunu yapmamam lazım ama ödev olduğu için yapıyorum, bir oldurun be. kod import flash.events.Event; import flash.utils.Timer; import flash.events.TimerEvent; import flash.display.MovieClip; var score:int = 0; var life:int = 3; var finish:Boolean = false; var zaman:Timer = new Timer(1000); zaman.start(); zaman.addEventListener(TimerEvent.TIMER, yarat); function yarat(e:TimerEvent){ var balon:Balloon = new Balloon(); balon.x = Math.random()*280; balon.y = 500; balon.gotoAndStop(Math.round(Math.random()*47)); addChild(balon); balon.addEventListener(Event.ENTER_FRAME, hareket); balon.addEventListener(TouchEvent.TOUCH_TAP, patlat); balon.addEventListener(MouseEvent.CLICK, patlat); } function hareket(e:Event){ e.target.y -=15; if(finish){ e.target.removeEventListener(Event.ENTER_FRAME, hareket); removeChild(e.target as MovieClip); } if(e.target.y < -150){ if(life == 0){ zaman.stop(); zaman.removeEventListener(TimerEvent.TIMER, yarat); gotoAndStop(1,"finish"); finish = true; }else{ life--; life_txt.text = life.toString(); e.target.removeEventListener(Event.ENTER_FRAME, hareket); removeChild(e.target as MovieClip); } } } function patlat(e:Event){ e.target.removeEventListener(Event.ENTER_FRAME, hareket); e.target.gotoAndPlay(52); score += 1; score_txt.text = score.toString(); }
4Ever Mesaj tarihi: Haziran 21, 2013 Mesaj tarihi: Haziran 21, 2013 Ben buna benzer birşey yapmıştım. Her 20 patlamada balonun spawn süresini azaltıyordum. %2 hızlanıyordu. Sen 1000 MS vermisin spawn süresine. yani spawn suresi * 0.98
Gutshot Mesaj tarihi: Haziran 21, 2013 Konuyu açan Mesaj tarihi: Haziran 21, 2013 ben görsel iletişim tasarımı okuyorum ve bu konu alanımın dışında olduğundan kod nedir nasıl yazılır hiç aşina değilim. dediğini ekleyebilir misin yukarıdaki koda hatırlıyorsan?
4Ever Mesaj tarihi: Haziran 21, 2013 Mesaj tarihi: Haziran 21, 2013 Bu kod işini görecektir. Flash ile denedim ama IOS da ne oluyor bilemedim. import flash.events.Event; import flash.utils.Timer; import flash.events.TimerEvent; import flash.display.MovieClip; var oyunDurumu:int = 0; var balonZaman:int = 1000; var balonKatsayi:Number = 0.95; var balonKopyasi:int = 1; var puan:int = 0; var hak:int = 3; var topHizi:Number = 5; var topHiziKatsayi:Number = 0.5; var topLevelKatsayi:int = 10; function basla(){ var balon:ballon = new ballon(); balon.x = Math.random()*280; balon.y = 500; addChild(balon); balon.addEventListener(Event.ENTER_FRAME, hareket); balon.addEventListener(MouseEvent.CLICK, patlat); if(hak > 0){ setTimeout(basla,balonZaman); } else { life_txt.text = "0"; } } function hareket(e:Event){ e.target.y -=topHizi; if(e.target.y < -150){ hak--; e.target.removeEventListener(MouseEvent.CLICK, patlat) e.target.removeEventListener(Event.ENTER_FRAME, hareket); removeChild(e.target as MovieClip); } } function patlat(e:Event){ puan += 1; if((puan%topLevelKatsayi) == 0){ balonZaman = balonZaman * balonKatsayi; topHizi = topHizi + topHiziKatsayi; } score_txt.text = puan.toString(); life_txt.text = hak.toString(); e.target.removeEventListener(Event.ENTER_FRAME, hareket); removeChild(e.target as MovieClip); } score_txt.text = puan.toString(); life_txt.text = hak.toString(); this.basla();
Gutshot Mesaj tarihi: Haziran 21, 2013 Konuyu açan Mesaj tarihi: Haziran 21, 2013 baştan yazmışsın sanırım, teşekkür ederim ama epey değiştirmişsin. o yüzden çalıştıramadım. ben koda bakınca anlamadığımdan kendi sahneme göre düzenleyemiyorum. sadece tek bir yeri değiştirerek; örneğin şurayı var zaman:Timer = new Timer(1000) ya da şurayı function hareket(e:Event){ e.target.y -=15; değiştirerek yapılamaz mı bu iş?
4Ever Mesaj tarihi: Haziran 22, 2013 Mesaj tarihi: Haziran 22, 2013 Senin kodun ile spawn süresini değiştiremezsin. ama alttaki kod ile hızını ayarlayabilirsin. e.target.y -=15; burayı bir bir rakam ile çarparak hızlını arttırabilirsin.
monoscope Mesaj tarihi: Haziran 22, 2013 Mesaj tarihi: Haziran 22, 2013 ios'a air olarak export ediyor değil mi ?
Gutshot Mesaj tarihi: Haziran 22, 2013 Konuyu açan Mesaj tarihi: Haziran 22, 2013 4Ever said: Senin kodun ile spawn süresini değiştiremezsin. ama alttaki kod ile hızını ayarlayabilirsin. e.target.y -=15; burayı bir bir rakam ile çarparak hızlını arttırabilirsin. hızını zamanla arttırabilir miyim yoksa sabit mi olur yine? örneğin 5 saniyede veya 10 saniyede bir şu kadar artsın gibi bir şey diyebilir miyim?
4Ever Mesaj tarihi: Haziran 22, 2013 Mesaj tarihi: Haziran 22, 2013 Senin kodun üzerinde güncelleme yaptım ama test edemedim. Kod aşağıda. import flash.events.Event; import flash.utils.Timer; import flash.events.TimerEvent; import flash.display.MovieClip; var score:int = 0; var life:int = 3; var finish:Boolean = false; var balonSayisi:int = 0; var balonHiz:Number = 10; var zaman:Timer = new Timer(1000); zaman.start(); zaman.addEventListener(TimerEvent.TIMER, yarat); function yarat(e:TimerEvent){ var balon:Balloon = new Balloon(); balon.x = Math.random()*280; balon.y = 500; balon.gotoAndStop(Math.round(Math.random()*47)); balonSayisi += 1; addChild(balon); balon.addEventListener(Event.ENTER_FRAME, hareket); balon.addEventListener(TouchEvent.TOUCH_TAP, patlat); balon.addEventListener(MouseEvent.CLICK, patlat); } function hareket(e:Event){ if((balonSayisi%10) == 0){ balonHiz = balonHiz * 1.05; } e.target.y -= balonHiz; if(finish){ e.target.removeEventListener(Event.ENTER_FRAME, hareket); removeChild(e.target as MovieClip); } if(e.target.y < -150){ if(life == 0){ zaman.stop(); zaman.removeEventListener(TimerEvent.TIMER, yarat); gotoAndStop(1,"finish"); finish = true; }else{ life--; life_txt.text = life.toString(); e.target.removeEventListener(Event.ENTER_FRAME, hareket); removeChild(e.target as MovieClip); } } } function patlat(e:Event){ e.target.removeEventListener(Event.ENTER_FRAME, hareket); e.target.gotoAndPlay(52); score += 1; score_txt.text = score.toString(); }
Gutshot Mesaj tarihi: Haziran 22, 2013 Konuyu açan Mesaj tarihi: Haziran 22, 2013 olmuş, çok teşekkür ederim. :)
Gutshot Mesaj tarihi: Haziran 22, 2013 Konuyu açan Mesaj tarihi: Haziran 22, 2013 gerçi 17'den fazla yapamadım aniden çok hızlandığından, daha yavaş hızlanabilir mi? edit: tamam tamam 1.05'i 1.01 yaptım oldu. çok sağol tekrar.
Öne çıkan mesajlar