Flash ile hazırlanmış bir soru

Kodla Büyü

semraaa14

Seçkin Üye
Seçkin Üye
Mesajlar
390
Arkadaşlar küçük bir mat oyunu yapmak istiyorum. Rasgele gelen iki sayının çarpımının sonucunu belirlediğim butonlara tıklayarak cevaplanmasını sağlamaya çalışıyorum. Butonların isimlerine a1,a2,a3 gibi isimler verdim. bunuda çarpım sonucunun sayı değeri ile a'yı birleştirerek buton ismini bulamaya çalışıyorum. c.addeventlisteneer da bir sorun oluyor. Yanlış bir şey var ama bulamadım orada nasıl bir ifade kullanmalıyım acaba?

var rasgele1:Number=Math.random()*9+1;
sayi1.text=(Math.floor(rasgele1)).toString();
var rasgele2:Number=Math.random()*9+1;
sayi2.text=(Math.floor(rasgele2)).toString();
sonuc.text=String(int(sayi1.text)*int(sayi2.text));
var b:String;
var a:String;
var c:String;
b=sonuc.text;
a="a";
c=a+b;

function tikla(event)
{
puan.text="10";
}
c.addEventListener(MouseEvent.CLICK,tikla);
 
hocam

function tikla(evt:MouseEvent):void
{
puan.text="10";
}
şeklinde düzeltip de deneyin bi isterseniz.
 
Hocam sorun şu satırda "c.addEventListener(MouseEvent.CLICK,tikla);" koddaki c değeri a harfi ile üretilen rasgele sayının birleşimi c yerine ne yazabilirim.
 
c eger bir stage nesnesi değilse event tanımlamak mantıksız olmuş. Stage e bir textfield movieclip yada bir button ekleyip instance name olarak mesela "tus" deyin ondan sonra c yerine tus yazarsınız. Anlatabildimmi bilmiyorum ama yapamazsanız fla sını yollayın hemen yapıp yollayım size.
 
hocam kac buton ekledınız buton ısmı 10 kadar gıdıyor eksıkse hata verecektır
 
buton isimleri a1 den başlıyor a81 kadar 36 tane buton var. rasgele üretilen sayıların çarpımını buton ismiyle ilişkinlendirmeye çalışıyorum. a ile çarpılan sayılar birleşimi butonun ismi olacak. c.addeventlistener kısmında sorun oluyor.
 
hocam benimki cs6 olduğu için cs5 olarak kaydediyor cs4 olarak farklı kaydet olmadığı için yeni oluşturduğum kodları buraya koyuyorum.

kod panelinin tamamını silip bunu yapıştırın istediğiniz şey olacaktır muhtemelen.

Kod:
import flash.events.MouseEvent;
var rasgele1:int;
var rasgele2:int;
var carpim:int;
function yap(){
	rasgele1=Math.floor(Math.random()*9)+1;
	sayi1.text=String(rasgele1);
	rasgele2=Math.floor(Math.random()*9)+1;
	sayi2.text=String(rasgele2);
	carpim = rasgele1*rasgele2;
	}

yap();



var tiklanan:int=0;
var p:int=0;
puan.text= String(p);

var butonlar:Array = new Array(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a12,a14,a15,a16,a18,a20,a21,a24,a25,a27,a28,a30,a32,a35,a36,a40,a42,a45,a48,a49,a54,a56,a63,a64,a72,a81);
var degerler:Array = new Array(1,2,3,4,5,6,7,8,9,10,12,14,15,16,18,20,21,24,25,27,28,30,32,35,36,40,42,45,48,49,54,56,63,64,72,81);

for (var i:int=0;i<butonlar.length;i++){
	butonlar[i].addEventListener(MouseEvent.CLICK, dogrumu);
	}
	
function dogrumu(evt:MouseEvent):void{
	for(var t:int=0;t<butonlar.length;t++){if(evt.currentTarget==butonlar[t]){tiklanan=t;}}
	if(carpim==degerler[tiklanan]){trace("doğru bravo"); yap(); p +=1; puan.text=String(p);}
	}
 
var rasgele1:Number=Math.random()*9+1;
sayi1.text=(Math.floor(rasgele1)).toString();

var rasgele2:Number=Math.random()*9+1;
sayi2.text=(Math.floor(rasgele2)).toString();

sonuc.text=String(int(sayi1.text)*int(sayi2.text));
var b:String;
var a:String;
var c:String;
b=sonuc.text;
a="a";
c=String(a)+String(b);

function tikla(event:MouseEvent):void
{
puan.text="10";

}

this[c].addEventListener(MouseEvent.CLICK,tikla);
 
cerman' Alıntı:
var rasgele1:Number=Math.random()*9+1;
sayi1.text=(Math.floor(rasgele1)).toString();

var rasgele2:Number=Math.random()*9+1;
sayi2.text=(Math.floor(rasgele2)).toString();

sonuc.text=String(int(sayi1.text)*int(sayi2.text));
var b:String;
var a:String;
var c:String;
b=sonuc.text;
a="a";
c=String(a)+String(b);

function tikla(event:MouseEvent):void
{
puan.text="10";

}

this[c].addEventListener(MouseEvent.CLICK,tikla);

:alkis: :alkis:
 
önemli değil.yardımcı olabildiysek ne mutlu. Başka daha büyük projeleriniz olursa her türlü yardımcı olurum.
 
BBNET
Geri
Üst