Kayıt Ol'maz iseniz Linkleri ve Resimleri Göremezsiniz.Eğer Kayıtlı'İsenizGiriş Yapın
Moderatör Alımları Başlamıştır.Başvuru için TIKLA

    | LUA Dersleri | MTA | Ara Ders 1 / Objeyi Görünmez Yapmak

    Paylaş

    TRneco58
    Yönetim
    Yönetim

    >>Rep Puanı : 208
    >>Teşekkür Puanı : 1
    >>Mesaj Sayısı : 75
    >>Kayıt tarihi : 03/03/11
    >>Yaş : 22
    Erkek >>Doğum tarihi : 23/08/95
    >>Nerden : İstanbul

    Cüzdan
    Altın Altın: n/a
    Para Para: n/a

    default | LUA Dersleri | MTA | Ara Ders 1 / Objeyi Görünmez Yapmak

    Mesaj tarafından TRneco58 Bir Paz Mart 06, 2011 10:49 am

    [size=14pt]LUA Öğreniyorum / Ders 1 - Ekrana Yazı Yazdırma - Renk Kodları[/size]


    LUA kodlamak için Notepad++ programını öneriyorum.
    Notepad++ programını açalım.


    Aranot Ekleme
    Aranot eklemek için her mesajın başına "--" koymalısınız.
    Aranot eklemek size kodun hangi kod olduğunu hatırlamanıza yardımcı olur.
    Aynı zamanda , paylaşım yapacaksanız gerekli açıklamaları eklemenizi sağlar.
    Aranotlar programın çalışma düzenini etkilemez.Lua bu aranotları atlar / geçer.
    Kod:

    -- LUA Kodlama Ders 1
    -- Hazırlayan êazY


    Renk kodlarını ekleme ve isimlendirme
    Renk kodlarını Paint , Photoshop tarzı programlardan bulabilirsiniz.
    LUA tanımlama tarzı bir sisteme sahip.Renk kodumuza isim vererek tanımlayabiliyoruz.
    Nesnemizi tanımlamak için olan kod çok basit;
    Kod:
    Nesnemiz = Color.new(R, G, B)
    "Color.new(R, G, B)" komutundaki (R,B,G) "Red Green Blue" yu temsil eder ve buraya 0 dan 255 e kadar olan rakamlardan biri gelir.

    Şimdide bir kaç renk tanımlayalım;
    Kod:

    kirmizi = Color.new(255, 0, 0)
    yesil = Color.new(0, 255, 0)
    mavi = Color.new(0, 0, 255)

    İngilizcelerinide yazabiliriz;
    Kod:

    red = Color.new(255, 0, 0)
    green = Color.new(0, 255, 0)
    blue = Color.new(0, 0, 255)

    Herhangi bir harfte kullanabiliriz ;
    Kod:

    a = Color.new(255, 0, 0)
    b = Color.new(0, 255, 0)
    c = Color.new(0, 0, 255)

    Bu size kalmış bir şey.

    Kod:
    kirmizi = Color.new(255, 0, 0)

    Açıklaması ;

    kirmizi : Verdiğiniz isim
    = : Verdiğimiz isim ile sağdaki komutu eşleştirdik.
    Color.new(255, 0, 0) ; RGB kodumuz.

    Kısaca ismimizi kodumuza eşitliyoruz.



    Ekrana Yazı Yazdırma:
    Lua'nın en can alıcı bölümüne geldi sıra. Yazı Yazdırma...
    Kodumuz basit;

    Kod:
    screen:print( x, y, "Yazimiz", RenkNesnesi)

    x en, y boy manasındadır. Yazdırma kodumuzda y'ye ne kadar büyük bir değer verirsek yazımız o kadar sağa kayar. x'e ne kadar büyük bir değer verirsek ekranda alçalmaya başlar.
    Unutmayın , LUA'da her programlama dilinde olduğu gibi Türkçe karakter desteklemez.İngilizce karakter kullanmalısınız.

    Hadi bunu bir kod ile görelim;


    Kod:
    screen:print(150, 130, "Lua Ogreniyorum", kirmizi)

    Bu kod "150 pixel sağa, 130 pixel aşağı "kirmizi" RenkNesnesini kullanarak ekrana "Lua Ogreniyorum" yazdır" anlamına gelir.

    Şimdi de bu kodu ekranda görünür hale getirelim. Bu kodu en sona yazmazsak bu koddan sonraki kodlar ekrana yansıtılmaz.
    Kodumuz;

    Kod:
    screen.flip()

    Yazdırma komutumuzun son hali şu şekilde olmalı;
    Kod:
    screen:print(150, 130, "Lua Ogreniyorum", kirmizi)
    screen.flip()


      --Kodumuz aşağıdaki gibi olduğunda "GTATURK" yazısı gözükmez."Lua Ogreniyorum" yazısı gözükür.
      --Kodumuz aşağıdaki gibi olduğunda , "GTATURK" yazısı gözükür ancak "Lua Ogreniyorum" yazısı gözükmez.



      Döngü yaratalım

      En sona mutlaka döngü yaratmalısınız. Döngülere 2. Derste deyineceğim.

      Kodlarımızın en sonuna aşağıdaki kodu ekleyin;
      Kodumuzun son hali ;
      Sonrasında , Dosya > Farklı Kaydet > "index.lua" olarak kaydediyoruz.








      [size=14pt]MTA / Ara Ders 1 - / Objeyi görünmez yapmak[/size]

      [size=5pt]**Resim Alıntıdır**[/size]
      [Resimleri görebilmek için üye olun veya giriş yapın.]
      [list type=decimal]
      [li]Map editörden , objenize ID vermelisiniz. -Örnek ; "gizlencek1"- Verdikten sonra MAPı kaydederek sonraki aşamaya geçiyoruz.[/li]
      [li]Notepad++ açarak , Dil > L > Lua yı seçiniz.[/li]


    [Resimleri görebilmek için üye olun veya giriş yapın.]
    Bu işlemden sonra kodlamaya başlayabiliriz.
    İlk olarak objeyi çekmemiz gerekli bunu [Linkleri görebilmek için üye olun veya giriş yapın.] Fonksiyonu ile sağlıyacağız.
    Kullanımı ;Kodlamaya başlayabiliriz , ilk olarak "Obje" diye bir değişken tanıtıp getElementByID ile elementi "Obje"ye aktaralım. Aktardıktan sonra [Linkleri görebilmek için üye olun veya giriş yapın.] ile elementin alphasını ayarlayabiliriz.
    Kullanımı ;

    Bu kodun sonrasında , görünüm aşağıdaki gibi olmalıdır ;Böyle kullanabiliriz ancak sorun çıkabiliyor.Bunu engellemek için ; Bir function açıp , kodu kesip içine koyup "OnClientResourceStart"e handler edebiliriz.
    [/list]
    Kod:
    function gizle()--function başlangıç
    gizlencekobje = GetElementByID("gizlencek1")
    setElementAlpha ( gizlencekobje , 0)
    end--function bitiş
    addEventHandler ( "onClientResourceStart", getResourceRootElement(getThisResource()), gizle)--client resource başladıgında gizle function'nunu çağır
    Lua'ı istediğiniz isimde kaydedip , MAPımızın kök klasörüne atalım örnek , "gizle"


      [li]Meta'a tanıtalım[/li]


    Meta'a sağ tıklayıp Edit with Notepad++ diyelim notepad++ ile açılıp dili otomatik xml yapacaktır kodları anlamanız daha kolay olcaktır.Açıldıktan sonra scripti tanıtalım <script src ="verdiğinizad.lua" type = "(client,server)" /> olarak tanıtalabiliriz.Script'i client olarak tanıtmalıyız çünkü onClientResourceStart client olarak çalışır.Örnek;
    Kod:
    <script src ="verdiğinizad.lua" type = "client" />

    [Resimleri görebilmek için üye olun veya giriş yapın.]

    [size=8pt]Bazı bölümler "Alıntıdır"

      Forum Saati C.tesi Ocak 20, 2018 9:08 am