ActionScript show your game score like atari :)

var c : int = 0;

stage.addEventListener(Event.ENTER_FRAME, ef);

function ef(event:Event):void
{
	if(c < 100)
	{
		c++;
		txt.text=""+c;
	}
	else
	{
		stage.removeEventListener(Event.ENTER_FRAME, ef);
		trace("if condition ends here. And does not work now.");
	}

}
Advertisements

ActionScript finding text in array

Facebooktan friendlist ya da benzeri şeyleri çektiğimizi düşünelim, daha sonra bunları bir arraye push edip bu değeri inputbox’dan girilen değerlere göre arama yapalım.

var targetItem:MovieClip;
var arr:Array = new Array("mc0","mc1","mc2");
var i:int = 0;
var targetStr:String = "";
txt.addEventListener(Event.CHANGE, change);


function change(event:Event):void
{
	targetStr = event.target.text;

	for (i=0; i<arr.length; i++)
	{
		targetItem = getChildByName("mc"+i) as MovieClip;
		
		// eğer girilen değerler boş ise...
		if (!targetStr)
		{
			targetItem.visible = true;
			continue;
		}
		else
		{
			targetItem.visible = false;
		}

		if (arr[i].search(targetStr) == 0)
		{
			targetItem.visible = true;
		}

	}

}

Objective-C Class

Yavaştan Objective-C’ye adım atıyorum fazla zaman ayıramıyorum öğrenebilmek için ama fırsat buldukça bir şeyler karıştırıyorum. Class tanımlama üye değişkenlere değer gönderme get-set gibi temel işlemlere baktım aşağıda ufakta olsa bir çalışma yaptım kodları yorum satırlarıyla açıklamaya çalıştım.

//
//  main.m
//  deneme-Obj-c
//
//  Created by  on 9/15/12.
//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//

#import <Foundation/Foundation.h>

// INTERFACE
// Interface bizim uygulama için arayüz sınıfımız burada değişkenleri ve metodlarımızı yazarız.
@interface Person : NSObject
{
    // uygulamada kullanacağımız değişkenlerimizi ve metodlarımızı(obj-c'de mesajlarımızı) burada tanımlarız.
    int age;
    int wieght;
    int height;
}

// Bunlarda bizim metodlarımız
-(void) print;
-(void) setAge : (int) a;
-(void) setWeight : (int) w;
-(void) setHeight : (int) h;
-(void) kisiBilgileriniGoster : (int) kb uyrukGoster : (char []) u egitimGoster : (char []) eg;

@end

/// IMPLEMANTATION
// Buda interface de belirlediğimiz değişken ve metodlarımızı uygulayacağımız sınıfımız.
@implementation Person

-(void) print
{
    NSLog(@"Benim yaşım %i ve boyum %i ve kilom %i dir.", age, height, wieght);
}

/*
 obj-c de diğer programlama dillerinden farklı olarak,
 metod tanımlamaları ve parametre tanımlamaları şu şekilde olmaktadır.
    
        -(geri dönüş tipi) metod_Adi : ( parametrenin alacağı değer ) parametre adi;
            
            örnek; -(int) yasiGonder : (int) yas;
        
        çoklu parametrelerde ise;
            örnek; -(void) kisiBilgileriniGoster : (int) kb uyrukGoster : (char) u egitimGoster : (char) eg
 */
-(void) setAge : (int) a 
{
    age = a;
}

-(void) setWeight : (int) w
{
    wieght = w;
}

-(void) setHeight : (int) h
{
    height = h;
}

-(void) kisiBilgileriniGoster : (int) kb uyrukGoster : (char []) u egitimGoster : (char []) eg
{
    
}

@end

/// MAIN
/// Burada implemantation yapımıza mesaj gönderiyoruz. Bunu yaparken aşağıdaki yapıyı kullanıyoruz genellikle.
int main(int argc, char * argv[])
{
    @autoreleasepool 
    {
        Person * serhat = [[Person alloc] init];
        [serhat setAge:20];
        [serhat setHeight: 170];
        [serhat setWeight:70];
        [serhat print];
        [serhat kisiBilgileriniGoster:24 uyrukGoster:"tc" egitimGoster:"Üniversite"];
        
    }
    return 0;
}

As3 Form input validation

Kullanıcıyı yormadan sadece GSM numarasını girmesini istediğimizde otomatik geçiş olayından bahsetmeye çalıştım aslında 🙂 Bunu yapabilmek için TextField sınıfının MaxChars özelliğini kullabiliyoruz. Bunun için sahneye üç adet “Dynamic Text” oluşturalım daha sonra oluşturduğumuz dynamic text’e tıklayıp sağdaki properties paneline erişelim daha sonra, “Options” altındaki “Max chars :” değerini sırasıyla 4,4,5 verelim. Stage’e tıklayarak Document Class’ımızı “Phone” diye verdikten sonra kutucuğun sağındaki kalem ikonuna tıklayarak aşağıdaki kodları yazalım. Yapılan şeyleri daha iyi anlamanız için commentledim herşeyi. Kolay gelsin…

package 
{
	import flash.display.Sprite;
	import flash.events.KeyboardEvent;

	public class Phone extends Sprite
	{

		public function Phone():void
		{
			// ilk olarak Tamam butonunu gizliyoruz.
			okButton.visible = false;
			// kılavyeden basılan tuşları kontrol edebilmesi için Event'imizi tanımlıyoruz...
			stage.addEventListener(KeyboardEvent.KEY_UP,checkTextField);
		}
		
		// içerisine istediğimiz kadar TextField atayabileceğimiz ve değerleri eşleştireceğimiz fonksiyonumuz
		private function autoTab(...textfields):void
		{
			// TextField'ların kaç adet olduğunu kontrol ediyoruz.
			var txtLen:int = textfields.length;
			
			// 3 adet textfield'ımız olduğu için 3 kez for döngüsüne girecektir.
			for (var i:int=0; i&lt;txtLen; i++)
			{
				// textfields[i] ile o anki sahnede bulunan textfield'ın kaç adet değer girildiğini buluyoruz.
				// eğer girilen değer maxChars'a eşit ise if'in içine girecektir.
				// if in içine girdiğinde bir sonraki textField'e geçebilmesi için değeri bir artırıyoruz.
				if (textfields[i].length == textfields[i].maxChars)
				{
					// stage focus textfieldlarda hangi inputların seçileceğini göstermektedir.
					stage.focus = textfields[i + 1];
				}
				// eğer son textfield değerinin genişliği, son textfield'ın maxChars'ına eşitse ok butonunu göster.
				if (textfields[txtLen - 1].length == textfields[txtLen - 1].maxChars)
				{
					okButton.visible = true;
				}
			}
		}
		
		private function checkTextField(e:KeyboardEvent):void
		{
			autoTab(txt1,txt2,txt3);
		}
	}
}