-
İçerikler özgün değildir. Sadece sık sık lazım olan işime yarayacak olan notları almış olduğum kişisel bloğumdur.
29 Haziran 2012 Cuma
A generic error occurred in GDI+ hatası
Server Error in '/' Application.
A generic error occurred in GDI+.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.Exception Details: System.Runtime.InteropServices.ExternalException: A generic error occurred in GDI+.
Source Error:
An unhandled exception was generated during the execution of the current
web request. Information regarding the origin and location of the
exception can be identified using the exception stack trace below.
|
Stack Trace:
|
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272
şeklinde bir hatayla karşılaştım.Biraz internete araştırdım dosyaya yazma izni vermek gerekiyor.Aşağıdaki linkden yazma izninin nasıl verileceğini okuyabilirsiniz
http://ariferzin.blogspot.com/2012/06/pleskte-dosyalara-yazma-izni-vermek.html
Justin-In-Time Debugging Hatası Çözümü
başlat>çalıştır>regedit burdan aşağıdaki değerleri silin;
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramewor k\DbgManag edDebugger
Read More
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramewor k\DbgManag edDebugger
Bilgisayarınıza yüklediginiz herhangi program Just-In-Time Debugging
(JIT) hatasını verebilir.Bunun sebepleri programın uyumlu yazıldıgı
framework sürümü sizin bilgisayarınızda yüklü olmaması programcının
programı yaparken kullandıgı bazı bileşenler işlemlerinin bilgisayarın
işleyememesinden kaynaklanır. Neden böyle bir hata verir ; Bilgisayar
programı çalıştırmasada program kendini çalıştırmak ister,bunun için
eksikleri kapatmanızı ister sizi Visual Studio ya yönlendirir gerekli
düzeltmeleri yaparsanız program gerçek verimini vermesede
çalışacaktır.Gelgelelim nasıl çözülecek.
Aldıgınız Hatada Yes butonuna basarak Studio açın.Menü çubugundan Tools > Options gidin. Açılacak pencerede sol ağaçta Debugging seçin ve JIT Settings veya Just-In-Time olacaktır seçip. Bulunan tüm kutucuklardan tiki kaldırın. Her ihtimale karşı programı yeniden başlatın. Program düzgün çalışacaktır eminim..
Kaynak:http://www.arifsoylu.com/visual-basic/justin-in-time-jit-debugging-hatasi-cozumu.html
Aldıgınız Hatada Yes butonuna basarak Studio açın.Menü çubugundan Tools > Options gidin. Açılacak pencerede sol ağaçta Debugging seçin ve JIT Settings veya Just-In-Time olacaktır seçip. Bulunan tüm kutucuklardan tiki kaldırın. Her ihtimale karşı programı yeniden başlatın. Program düzgün çalışacaktır eminim..
Kaynak:http://www.arifsoylu.com/visual-basic/justin-in-time-jit-debugging-hatasi-cozumu.html
28 Haziran 2012 Perşembe
GoDaddy ‘ e domain transferi
Firmaların yapmış olduğu kampanyalar nedeniyle ya da satın almış olduğumuz domaini panelimize alma işlemini sık sık yapıyoruz.
Bu yüzden bu yazımda en zor sanılan transfer işlemlerinden birini anlatmaya çalışacağım..
Godaddy’e domain transfer etmek aslında zor değil gayet basit aşağıdaki adımları takip edin lütfen..
1) üye girişi
2) Domains tıklayın
3) Bulk domain transfers tıklayın
4) açılan sayfadaki boşluğa transfer etmek istediğiniz domainleri alt alta yazın
örn:
ali.com
veli.com
ayse.tv
gibi..
Domainlerin kilitleri açıksa hemen üst tarafta seçili olarak yer alacaklar ve Proceed to checkout tuşuna basın.
Not : Eğer domainlerin kilitleri çaık değilse eski firmasından kilitleri açın ya da satın almış olduğunuz kişiyer söyleyin kilidi açsın.
Not2: Transfer etmekten vazgeçtiğiniz domainin başındaki işareti kaldırabilirsiniz.
5) Bir sonraki aşamada kaç senelik kayıt yapmak sitediğiniz soruluyor genelde 1 sene otomatik çıkar ama dikkat edin 5 sene çıkıpta fazladan uzatmayın. Next tuşuyla ilerleyin
6 ) Her sorduğu soruya Next ya da No Thanks diyerek ödeme sayfasına gelin.
7 ) promosyon kodunuz varsa kullanın ve ödemeyi gerçekleştirin..
8 ) Ödeme sonrasında mail adresinize ,
Transaction ID:
Security Code:
kodları gelecek..
9 ) Godaddy panelden MY ACCOUNT tıklayıp karşınıza gelen sayfanın ortasında domainleriniz listelenir.Transfer i tıklayın.
11) Açılan pencerede Üst taraftan Domains sonrasında Pending transfers i tıklayın
13 ) sayfanın sağında siyah kutu halinde Authorize Transfer i tıklayın.
14 ) Açılan pencereye mailinize gelen
Transaction ID:
Security Code:
girin.Devam diyin..
15 ) işleme başladığınız domain için transfer kodunu da gerekli yere girip Next diyin
Diğer firmalarda olduğu gibi transfer onay maili gelmiyor!
Sadece eski firma hata olmasına karşı işlemi iptal etme maili gönderiyor tıklanmazsa link işlem devam ediyor.
Ortalama 1 haftada domain Godaddy panelinize düşüyor.
Hayırlı olsun
Kaynak:http://www.domainabi.com/blog/godaddy-e-domain-transferi/
Read More
Bu yüzden bu yazımda en zor sanılan transfer işlemlerinden birini anlatmaya çalışacağım..
Godaddy’e domain transfer etmek aslında zor değil gayet basit aşağıdaki adımları takip edin lütfen..
1) üye girişi
2) Domains tıklayın
3) Bulk domain transfers tıklayın
4) açılan sayfadaki boşluğa transfer etmek istediğiniz domainleri alt alta yazın
örn:
ali.com
veli.com
ayse.tv
gibi..
Domainlerin kilitleri açıksa hemen üst tarafta seçili olarak yer alacaklar ve Proceed to checkout tuşuna basın.
Not : Eğer domainlerin kilitleri çaık değilse eski firmasından kilitleri açın ya da satın almış olduğunuz kişiyer söyleyin kilidi açsın.
Not2: Transfer etmekten vazgeçtiğiniz domainin başındaki işareti kaldırabilirsiniz.
5) Bir sonraki aşamada kaç senelik kayıt yapmak sitediğiniz soruluyor genelde 1 sene otomatik çıkar ama dikkat edin 5 sene çıkıpta fazladan uzatmayın. Next tuşuyla ilerleyin
6 ) Her sorduğu soruya Next ya da No Thanks diyerek ödeme sayfasına gelin.
7 ) promosyon kodunuz varsa kullanın ve ödemeyi gerçekleştirin..
8 ) Ödeme sonrasında mail adresinize ,
Transaction ID:
Security Code:
kodları gelecek..
9 ) Godaddy panelden MY ACCOUNT tıklayıp karşınıza gelen sayfanın ortasında domainleriniz listelenir.Transfer i tıklayın.
10 ) Domainin üstünü tıklayın.
11) Açılan pencerede Üst taraftan Domains sonrasında Pending transfers i tıklayın
12) Domainleriniz listelenecek. Domainlerden birinin başını işaretleyin
13 ) sayfanın sağında siyah kutu halinde Authorize Transfer i tıklayın.
14 ) Açılan pencereye mailinize gelen
Transaction ID:
Security Code:
girin.Devam diyin..
15 ) işleme başladığınız domain için transfer kodunu da gerekli yere girip Next diyin
16 ) işlemler bitti bundan sonrası Godaddy ve eski firmaya kalıyor.
Diğer firmalarda olduğu gibi transfer onay maili gelmiyor!
Sadece eski firma hata olmasına karşı işlemi iptal etme maili gönderiyor tıklanmazsa link işlem devam ediyor.
Ortalama 1 haftada domain Godaddy panelinize düşüyor.
Hayırlı olsun
Kaynak:http://www.domainabi.com/blog/godaddy-e-domain-transferi/
26 Haziran 2012 Salı
Plesk'te dosyalara yazma izni vermek
Plesk panelde giriş yaptığınızda 'Home' sekmesine geçin.

'Files' kısmından 'Virtual Directories' butonuna tıklayın. Daha eski sürümlerde 'Web Directories' olarak geçmektedir.
Buradan httpdocs kısmına girin. Girdiğinizde dosyalarınızı size listeleyecektir. Her dosyanın sağ tarafında kilit işaretlerini göreceksiniz. Orayı kırmızıyla işaretledim. Kilit butonuna tıklayın.

Yukarıdaki gibi bir pencere gelecektir. Sol taraftan kullanıcıyı seçerek tüm izinleri 'Allow' olarak işaretleyin. OK butonuna tıkladığınızda o dosyaya tüm izinleri vermiş olursunuz.
plesk dosyalara okuma yazma izni verme | izlesene.com
Read More
'Files' kısmından 'Virtual Directories' butonuna tıklayın. Daha eski sürümlerde 'Web Directories' olarak geçmektedir.
Buradan httpdocs kısmına girin. Girdiğinizde dosyalarınızı size listeleyecektir. Her dosyanın sağ tarafında kilit işaretlerini göreceksiniz. Orayı kırmızıyla işaretledim. Kilit butonuna tıklayın.
Yukarıdaki gibi bir pencere gelecektir. Sol taraftan kullanıcıyı seçerek tüm izinleri 'Allow' olarak işaretleyin. OK butonuna tıkladığınızda o dosyaya tüm izinleri vermiş olursunuz.
plesk dosyalara okuma yazma izni verme | izlesene.com
25 Haziran 2012 Pazartesi
Flashda Resim Slayt
Alıntıdır:http://www.gnm6.com/tag/slide-show/
Flash’ta Kolay Slide Show Hazırlama
aşağıdaki kodu flash’a yapıştırın ve belirtilmiş şekilde bir XML dosyası oluşturun başka hiçbirşeye gerek yok…flashı olmayanlara swf yeterli XML’i de not defteri ile oluşturabilirsiniz
/*
Flash‘ta resim gosterisi yapmak her zaman canımı sıkmıştır. Flash CS3′te bu ugras ıcın “Slideshow Template” yapmışlar ama o da çok farklı değılö yine sıkıcı bir sürü fare tıklaması.
Bu iş için daha basit daha hızlı bir çözüm yaratmak lazım diye düşündüm. Şu an yeni taşındığım evimde internet olmadığı için tek kaynağım da Flash‘ın yardım dökümanı.
Aklımdakini anlatayim:
-Resimleri teker teker sahneye aktarıp birebir boyutlandırmak istemiyorum.
-Her resim için ayrı ayrı tween ile uğraşmakta istemiyorum.
-Resimlerle ilgili başlık vs. resimle beraber görünsün istiyorum.
Sonuç olarak tüm resimleri tek klasörde saklarım, resim listesini ve bilgileride bir xml dosyasında saklarım diye bir çözüm düşündüm.
Ve o şekilde yaptım, kodlar biraz karışıktı düzenledim ve ne işe yaradığını anlattım.
İyi seyirler.
Sahneye hiçbirşey eklemeniz gerekmiyor. Nesneleri script ile yarattım.
Örnek olsun diye birkaç resim ve aşşağıdaki formatta bır xml dosyası gerekiyor.
*/
//Gerekli kütüphaneler
import flash.display.*;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.events.Event;
import flash.display.Sprite;
import flash.events.TimerEvent;
import flash.utils.Timer;
import flash.text.TextField;
import fl.transitions.*;
import fl.transitions.easing.*;
//Dışardan bilgileri alacağımız xml dosyasına bağlanıyoruz.
var disXML:XML;
var XMLYuk:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest(”liste.xml“);
XMLYuk.load(request);
XMLYuk.addEventListener(Event
//XML nesnesi yüklemesi tamamlandığında aşağıdaki fonksiyon çalışıyor.<_script /><_script />
function Tamamlanan(event:Event):void
{
var XMLYuk:URLLoader = event.target as URLLoader;
//değişkene xml verisini yükledik.
disXML = new XML(XMLYuk.data);
//resimler arası bekleme süresini de xml den okutuyorum.
var bekleme=disXML.bekleme;
//xml dosyasından kaç resim olduğunu okuyorum.
var resAdet=0;
for each (var resimAdi in disXML.resim)
{
resAdet+=1;
}
//ilk resmi direk gösteriyorum çünkü zaman ölçmeye başladığımda bekleme süresi kadar boş kalıyor.
resimGoster(0, disXML.resim [0].@baslik);
//Zaman değişkeni bekleme süresini resim sayısı kadar tekrarlayacak.
var Zaman:Timer = new Timer(bekleme*1000, resAdet-1);
Zaman.addEventListener
Zaman.start();
//Zaman değişkeni her tetiklendiğinde çalışacak fonksiyon
function Degis(event:TimerEvent):void
{
//resim gösterme fonksiyonunu çağırırken xml veri indeksini zaman nesnesinin tetiklenme sayısı ile çağırtıyorum.
//resim başlıklarını da kullanımını görmek açısından farklı bir şekilde çağırttım.
resimGoster(event.target
}
}
//her zaman tetığinde gösterilecek resim aşağıdaki fonksiyon ile çağırılıyor
function resimGoster(no, yazi)
{
//her resim için yeni movieclip nesnesi oluşturuyoruz.
var resim:MovieClip = new MovieClip();
//resmi sahneye ekliyoruz
addChild(resim);
var resYuk:Loader = new Loader();
//fonksiyona dışarıdan gelen resim indexi ile xml dosyamızdan resmin yolunu alıyoruz
var resUrl:String = disXML.resim[no];
//resim yolunu url isteğine tanıtıyoruz
var resUrlIst:URLRequest = new URLRequest(resUrl);
//ve resimi nesneye yüklüyoruz
resYuk.load(resUrlIst);
//resim yükleyicisi nesnemize yeni olay dinleme nesnesi oluşturuyoruz
resYuk.contentLoaderInfo
//ve yukarıda belirttiğimiz resimYukle fonsiyonunun içeriği<_script /><_script />
function resimYukle(event:Event):void
{
//sahneye eklediğimiz resim nesnesine resimyükleyici nesnesinin içeriğini atıyoruz.
//bu adımda resim sahnede görünecektir, fakat öncesinde hemen altındaki özellikleri kazanarak görüntülenecek
resim.addChild(resYuk
//aşağıdaki iki satır resmi sahne genişliği ve yüksekliğine eşitliyor.
//aslında bu yöntem resimlerde bozulmalara yol açacaktır, bunu önlemek için kullanacağınız resimleri bir resim işleme programı ile sahne boyutuna getirebilirsiniz.
resim.width=stage.stageWidth
resim.height=stage.stageHeig
//resimlerin sahneye geçişli bir şekilde gelmesini sağlayan satır.(tabi yukarıda eklediğimiz kütüphaneler sayesinde)
TransitionManager.start
}
//resim başlıkları için yeni yazı alanı oluşturuyoruz
var Baslik:TextField = new TextField();
Baslik.text = yazi;
//yazı alanı özellikleri
Baslik.autoSize=”center”;
Baslik.background=true ;
Baslik.backgroundColor
//sahnede yaklaşık olarak nesnemizi ortalıyoruz
Baslik.x=(stage.stageWidth/2
Baslik.y=stage.stageHeight
//ve gösterime hazır nesnemizi sahneye ekliyoruz
addChild(Baslik);
}
Linkler
LOGO
http://logopond.com
fontlarhttp://www.urbanfonts.com/
http://www.dafont.com
resim arşivi
http://www.dreamstime.com/ribbon-heart-image2000923
flash dersler
http://www.kirupa.com/developer/index.htm
http://www.cssdrive.com/index.php/menudesigns/
http://www.cssbased.com/
http://www.webresourcesdepot.com/category/goodies/gallery/
http://www.webdesignerwall.com/tutorials/advanced-css-menu/
http://www.hongkiat.com/blog/22-best-photoshop-text-effect-tutorials/
http://psdtuts.com/tutorials-effects/advanced-glow-effects/
http://www.deviantart.com/
http://www.tutorialwiz.com/glossy_button/
http://www.openstudio.fr/Un-viewer-de-panoramas-simple-en.html
http://www.mathertel.de/AJAXEngine/S04_VisualEffects/slidingdemo.aspx
http://www.pixelcityhome.com/Index-Expand.html
http://www.flasheezy.com/flash_file/17-AbstractWireframe
http://www.bestweb.lt/;page:29
http://www.brcauto.eu/lv/
hhttp://www.evita-mei.lt/lt/planas
http://www.degtine.lt/
http://www.melga.lt/
http://www.mototoja.lt/lexus/lt
http://www.100sports.lt/
http://www.unofficialwebsiteoflithuania.com/#/knowledge_society/1122
Örnek Bannerlar
http://freecodevn.com/for@um/showthread.php?t=41215
lig tv
http://www.myp2p.eu/competition.php?competitionid=&part=sports&discipline=football
slideshow
http://smoothslideshow.jondesign.net/timed.html#
http://www.joomlart.com/templates_demo.php?template=ja_nerine
http://www.gcmingati.net/wordpress/wp-content/lab/jquery/imagestrip/imageslide-plugin.html
photoshop
http://www.skullcrusher.org/
Kısa Flash Notları
Alıntıdır:http://www.adobeturk.com/forum/1-vt5688.html?postdays=0&postorder=asc&&start=0
Merhaba bazı flash ile ilgili çalışma notlarımı paylaşmak istedim.
Bu notlar Flash çalışmaya başladığım sıralarda benden sonra çalışan bi tanıdığım benim kadar zorlanmasın diyerek almıştım.
Hepsini pastelemek istemedim, öğretmekten çok hazır a konmak olacağını düşündüm.
Umarım faydası olur.
Flash a ilk başladığım zaman not tutmaya başladığım için bazılarına göre büyük bir kısmı basit olabilir fakat bilmeyenler için yazdım.
--- El yazısı effecti ---
El yazılarını maskeleme yontemı ıle yap Frame frame yuvarlak koyarak
//----Bir Animasyonu tam ekran oynatmak icin ( durum cubugu vs. gözükmez (Ekran Koruyucular icin ideal))---
on (release){
fscommand ("fullscreen", "true");
}
//---sahneyi yada animasyonu normal büyüklüğünde oynatmak için---
on (release){
fscommand ("fullscreen", "false");
}
//---Sahne tam ekran yapıldığında nesneleri aynı oranda büyültmek---
on (release){
fscommand ("allowscale", "true");
}
//---Nesneleri gerçek boyutlarında göstermek---
on (release){
fscommand ("allowscale", "false");
}
//---Flash player a ait menuyu göstermek---
on (release) {
fscommand ("showmenu" , "true");
}
//---Flash player a ait menüyü gizlemek---
on (release){
fscommand ("showmenu", "false");
}
//---Kısayol tuşlarını pasif yapmak---
("trapallkeys", "true");
//---Kısayol tuşlarını aktif yapmak---
("trappalkeys", "false");
//---Bir program çalıştırmak---
on (release) {
fscommand ("exec", "calc.exe);
}
//---Programı kapatmak---
on (release)
fscommand ("quit");
}
//--- Scane istediğin sanırım )):---
on (release)
gotoAndPlay ("Scane2",1); // Scane2 ( Scane adı) ,1 (Frame)
}
//---Çalışan Flashdan çıkmak Kullanıcı için---
on (release)
fscommand (quit, true);
}
//---Bir İnput dakileri vs. bi yere kaydetmesi icin kullanabilirsin. Yada Yönetici mesaj felan---
on (release){
adi="Enver";
soyadi="Sen";
yasi=1;
fscommand ("save","zp.txt");
}
//---Aşağıdaki örnekte farenin düğme üzerine gelmesi ile filmin 2.karesi, farenin dışına çıkması ilefilmin 1. karesi
on (rollOver) {
tellTarget(zpik){
gotoAndPlay(2);
}}
on (rollOut) {
tellTarget(zpik){
gotoAndPlay(1);
}}
//---Eğer scane 2 nin 6. frane yüklendiyse 7.frame çalıştır.---
ifFrameLoaded ("Scane 2", 6){
gotoAndPlay(7);
}
//---loadMovie ve Film Yükle( Bir konumdaki filmi istenilen level e yüklemek için kullanılır---
//loadMovie(url [,konum/hedef, degiskenler ]]);
on (release){
loadMovieNum ("xxxx.swf", 1);}
//---clibe alpha vermek---
on (release){
_root.zpclip._alpha=50;
//
zclip o clibin adı (movieclibin yada başka bişi olabilir.
}
//--Nesneyi görünmez yada görünür yapma
on (release) {
_root.zpclip._visible=0; //zpclip clibin adı
0 değeri falsede olabilirdi..
}
//---_x,y Nesnenin sol ve üst taraflarının pixel olarak sağa yada üst kısma doğru ayarlanmasını sağlar
// kısacağı _x değerinin artması ile nesne sağa doru hareket eder
// _y değerinin artması sonucu ise nesne yukarıya doğru hareket eder..
on (release){
_root.zpclip2._x=100;
_root.zpclip2._y=100;
}
//---nesneyi %10 oranında buyultme ama olmadı )): ---
on (press){
genislik=_root.ass._xscale;
yukleklik=_root.ass._yscale;
genislik+=10;
yukseklik+=10;
_root.zpmc.xscale=genislik;
_root.zpmc.yscale=yukseklik;
}
//---Dönder 20 derecelik açılarla---
on (press){
donme=_root.zpmc._rotation;
donme+=20;
_root.zpmc._rotation=donme;
}
//---o butonun +9 u ile her biri ayrı rengde ve ayrı yerde çıkartıyo Ama çalışmıyo )): ---
on (press){
for (var i=0;i<9;i++){
zmpc.duplicateMovieClip("zmpc" +i,i);
_root["zmpc"+i]._x=Math.floor( Mathrandom()*200);
_root["zmpc"+i]._y=Math.floor( Mathrandom()*200);
top_rengi= new Color (_root["zmpc" add +i]);
kirmizi = Math.floor(Math.random()*225);
yesil = Math.floor(Math.random()*225);
mavi = Math.floor(Math.random()*225);
//rengi uygula
top_rengi.setRGB(kirmizi*65536 + yesil*256 + mavi);
}
}
//---Tıkladğında Buton yapışır eline Mouse onunla beraber hareket eder --
on (press) {
startDrag(this, false);
}
//---Tuş bırakıldığında sürüklemeyi ( Taşımayı ) sona erdir---
on (release){
stopDrag();
}
//---İkisini bi kullan Taşı Bırak ( Açılır kapanır Menü Hesabı ) ---
on (press) {
startDrag(this, false);
}
on (release){
stopDrag();
}
//--- Bir şeyi istediğin yere taşı bırak olmassa geri gelsin harf oyunu gibi
//Eğer ihtiyacın olursa AS 197 den okuyabilirsin AS 1.0 Boş oluncada oku..
-----// Açıklama Örneğin i++ Bunun anlamı i yi coğalt i-- i yi azalt Enver++ cogalt...-----
---// Bunlar bitince AS 1.0 sayfa 216 da preLoading var onu çalış... ---
---// Bir txt deki yazıyı swf ye getirtmek zahmetsiz + bunu yukarı assagı oynatmak aynı sagdakı gıbı mouse well yada
tuş ile yukarı aşağı oynatmak açıklayıcı bilgiler için ideal. ve sürekli değişiyorsa haber bölümüde olabilir ---
Sahneye 1 tane metin kutusu çiz bunun buyuklugu kadar alanın ıcınde olacak yazılar. Bunun adını Metin_kutusu yap (mesela yani)
Sonra bunu Dynamic metin kutusuna cevir ve Multiline olarak yap ( single line multiline ) sonra aynı klasor e bir tane txt yap
isminide deneme.txt olarak degiştir. Şimdi altına bi tane buton çiz buton yaptıktan sonra as sine geç (Yukle buton):
on (release){
loadVariables ("deneme.txt","");
}
Silmek İçin (sil botonuna yaz);
on (release){
_root.metin_kutusu="";
}
Yukarı Çıkartmak ıcın ( (Efect) bi tane buton çiz dynamic in sagına Yukarı butonu olsun bu ;
on (press){
metin_kutusu.scroll--;
}
Aşagı indirmek icin( (Efect) bi tane buton çiz dynamic in sagına asagi butonu olsun bu ;
on (press){
metin_kutusu.scroll++;
}
istersen bunları mouse ustune gelınce de yaparsın, istersen sole bisi yap uo bolumu skiller
64 tane buton olsun her birine tıklayınca dier skiil i aynı ekranda gostersin (;
Ama atıyorum Anatomy skill ine tıkladıgında yazıların karısmaması için 68 skill in adresini yazacaksın sılecek hepsini tek tıklamaya
Neden mi bole bı ona tıklar bı buna sonra yazılar karısır ((:
on (release){
_root.Swordsmanship="";
}
on (release){
_root.Healing="";
}
on (release){
_root.Mage="";
}
on (release){
_root.Poisoning="";
}
// alt taraf ekrana gelecek yazı yukarısı silinenler
on (release){
loadVariables ("Anatomy.txt","");
}
//Ve yukarı cıkartmak asagı ındırtmek ıcın 64 skillin adınıda yazmak gerekıyor ((: aşagıdakı gıbı
//Yukarı Buton
on (release){
Anatomy.scroll--;
}
on (release){
Mage.scroll--;
}
//aşagı ındırmek ıcın
on (release){
Anatomy.scroll++;
}
on (release){
Mage.scroll++;
}
---İstediğin Frame de istediğin kadar bekletmek icin verilen kod
stop();
basla=function(){
clearInterval(zamanlama);
play();
}
zamanlama=setInterval(basla, 4000); //4sn bekler
--- Kütüphanedeki 1 mc çalıştırmak ---
on (press){
_root.attachMovie("yuvarlak", "yuvarlak_mc",-11);//mc nin adı yuvarlak mc sonra yuvarlak_mc olarak kopyalıyo atıyo ekrana
_root.yuvarlak_mc._alpha = Math.random () *100;
_root.gotoAndPlay (5);
}
/* Yukardaki tuşa basıldıgı anda kütüphanede duran "yuvarlak" adlı movieClip i" 1 tane kopyalayarak ismini
"yuvarlak_mc" olarak değiştirir ve sahnede 1 yer belirleyerek o kısımda çalıştırır
((((( _root.attachMovie("yuvarlak", "yuvarlak_mc",-11); )))) üçüncü satırda her çalışmasında o mc ye
kafasına göre alpha ( saydamlık verir random ) ( _root.yuvarlak_mc._alpha = Math.random () *100; )
ücüncü satırın bır anlamı yok
ona çalışacaksın ilerde...
--- Kütüphanedeki 1 mc yi çağırdıgında ( mc nin adı yuvarlak_mc ) Çağırdığın mc nin istediğin yerden cıkması ıcın
_root.yuvarlak_mc._x = 150;
_root.yuvarlak_mc._y = 150;
----- çağırdığın mc yi istediğin frameden başlatmak için
_root.yuvarlak_mc.gotoAndPlay (5);
--- Frame Hızını arttırma ve düşürme ---
2.si setinterval komutu ile bu işi yapabilirsin... istediğin movie clip'i istediğin hızda oynatabilirsin....örnek kodlar
aşağıda :
MovieClip.prototype.gogo= function(fps){
clearInterval(this.fps_id);
this.fps_id=setInterval( function(id1){
with(id1) {
if(_currentframe==_ totalframes) clearInterval(id1.fps_id)
else gotoAndStop(_currentframe+1)
}updateAfterEvent();
},1000/fps,this);
}
mc1.gogo(24);
mc2.gogo(30);
mesela burada "mc1" bir movie clip mc1 24 frame hızıyla hareket ediyor...
mc2 de bir movie clip oda 30 frame hızıyla hareket ediyor......umarım anlatabilmişimdir.....
kolay gelsin.....
--- as yükletme ve çalıştırma ---
#include komutunun bulundugu satırda - açıklamalarda dahil olmak üzere - başka hiçbir ifade
bulunmamalıdır.
#include "hariciDosya.as" // Class dosyasını yükle anlamına geliyor
yukardaki örnekte, #include komutu ile aynı satırda bir açıklama kullanılmıştır. Fakat bu bir
hatadır ve bu nedenle harici script dosyası Flash movie içine yğklenmeyecekdir. Düngünü aşağıda
on (press){
#include "Linker.as" //linker script dokumanının adı
getUrl(link_1,"_blank");
gotoAndPlay(frame_1);
}
--- Dizi Array Değişkenleri ( Bir değişkenin içinde birden fazla veri saklamak icin " new Array (); " değeri kullanılır.
Örnek :
Kullanici = new Array ();
Kullanici [0] ="Savaş"
Kullanici [1] ="Tekin"
Kullanici [2] ="Numan"
Kullanici [3] =" Sedat"
/*örnekte görüldüğü gibi önce "new" operatörü ile yeni bir dizi değişken Array nesnesi oluşturuluyor ve oluşturulan nesne
" kullanici " değişkenine atanıyor. " kullanici " değişkeni, artık dizi değişken olduğu için birden fazla değer
taşıyabilir.
Bu değişkenin sonuna yada başına sonradan bir ilave yapmak istenilirse -- kullanici.push"("ıvır", "zıvır"); -- olarak ekle bu
sonuna yazar başına yazmak istenilirse komut --Kullanici.unshift("zıvır", "ıvır");
Bir dizi değişkenin varolan öğelerini kopyalayarak yada yenni öğeler ekleyerek de yeni bir Array nesnesi oluşturabilirsiniz
Kullanici.concat(ıvır,zıvır); kullanici adı adında belirtilen dizi değişlkenin kopyasını alır ve değer parametresinde
belirtilen yeni öğeleride ekleyerek, dönen sonucu yeni bir dizi değişkene atar.
Kullanici1 = [1,2,3,4,5];
Kullanici2 = [6,7,8,9,0];
tum_kullanici = Kullanici1.concat(kullanici2);
örnekte kullanici1 dizi değişkeninin öğeleri 1,2,3,4,5, ve kullanici2 dizi değişkeninin öğeleri ise 6,7,8,9,0 dır.
concat metodu ile kullanici1 dizi değişkeninin öğeleri, kullanici2 dizi değişkeninin öğeleri ile birleştirilmiştir.
bu durumda ortaya yeni bir dizi değişken çıkmış ve bu dizi değişkenin, tum_kullanici değişkenine atanmıştır. Bu durumda
tum_kullanici dizi değişkeninin değeri şu şekilde olacakdır.
0:1
1:2
2:3
3:4
4:5
5:6
6:7
7:8
8:9
9:0
Bu metod kullanilirken kullanici1 ve kullanici2 dizi değişkenlerinde bir değişiklik olmaz "copy paste" hesabı*
--- Bu dizilerden Öğe çıkartma yada silme ---
kullanici = new Array ("Beyinsiz", "Salak", "Odun", "Aptal");
delete kullanici[1]; // <--- bu komut ile yukardaki dizi değişkeninin içindeki 1 numaralı ( Salak ) kelimesi silindi.
Salak silindi Çünki : Salak 1 Numara dizilerde 0 dan başlıyo yada öle bişi emin deilim.
--- Bu dizilerdeki ilk öğeyi silmek icin ayrı bir yol var ( 0 ) numaralı öğeyi ---
kullanici = new Array ("Funda", "Ulaş", "Ebru");
kullanici.shift(); // Funda silindi geriye Ulaş ve Ebru kaldı.
Bu değişkeni istersen başka bi yere atıyabilirsin ornek :
kullanici = new Array ("Funda", "Ulaş", "Ebru");
SilinenKullanici = kullanici.shift();//böylece shift (); ile silinen kullanıcı " SilinenKullanici " değişkenine taşındı.
/////*****----- Delete ile silindiği zaman sıra numaraları değişmez 0,1,2,3 diye kalır shift(); ile silindiginde
kayar 0 numaralı olanı siler 1 numara 0 olur sıra ile kayar -----*****
--- shift (); olayının tam tersi pop(); dur bu da sondaki öğeyi siler.
kullanici = new Array ("Funda", "Ulaş", "Ebru");
kullanici.pop();//Ebru silindi
Aynı shift (); deki gibi silinen öğeyi başka bi değişkene atayabilirsin. ( Kes Yapıştır hesabı )
kullanici = new Array ("Funda", "Ulaş", "Ebru");
SilinenOge = kullanici.pop();//öğeyi kullanicidan kesip "SilinenOge" ye yapıştırdık.
--- Dizi lerde kullanılan "1 taşla 2 kuş" yöntemiymiş splice (); metodu
kullanici.splice(baslangic, silinecekOgeNumaraları, EklenecekOgeler,);
kullanici = new Array ("Funda", "Ulaş", "Ebru");
kullanici.splice (1,2, "Murtaza", "Demet");
Sonuç : 1 ve 2 numaralı öğe silindi ve sona "Murtaza ve Demet" eklendi.
kullnici = ("Funda", "Murtaza", "Demet");
--- Array nesnesinin sort(); metodunu kullanarak, istediğiniz bir dizi değişkeninin öğelerini alfabetik sıraay göre
düzenleyebiliriz
isimler = new Array ("Murtaza", "Ahmet", "Onder", "Mehmet");
isimler.sort();//aşağıdaki şekilde dizer
0= Ahmet
1= Mehmet
2= Murtaza
3= Onder
isimler.sort(-1); //bu şekilde olursa ters dizilir z-a ya
//////*****----- Fonksiyonlar ( Funcsitons ) Notlar -----*****
Ne dir ? = Hemen hemen her projenizde mutlaka tekrarlayarak yapmanız gereken işlemler bulunur. Kodları kopyalayıp yapıştırmak
yada kodları tekrar yazmak sizin icin tek çözüm gibi görünebilir. (ame deil
)
Diyelim ki; aşağıdaki satırı en az 15 movie clip sembol ıcın kullanmanız gerekiyor.
movieClip_mc._x = 50;
Sonradan bu değeri 70 olduğunu düşün felan filan.... ( böle bi işe yarıyo ama tam anlamadım tekrar çalış bu konuya )
Funcitonlar bir kere tanımlanırlar ve tüm Flash move içinde kullanılabilirler. Fonksiyon tanımlanın iki farklı yolu var.
Her iki durumdada function anahtar sözcüpü kullanılır.
function fonksiyonAdı () {
yapılacak işler ;
}
ya da ;
fonksiyonAdı = function (){
yapılacak işler;
}
Yukarıda görüldüğü gibi her fonksiyonun bir adı olur ve gerektiğinde fonksiyonu tanımladığımız bu adla fonksion
çağırabiliriz.
Fonksiyon adı tanımlanırken değişkenlerde olduğu gibi aşşağıdaki kurallara uymalısınız ;
1. Fonksiyon adları içinde boşluk kullanılmaz.
function özellik ayarla (){
} // hatalı fonksiyon adı tanımlaması
2. Fonksiyon adları sayı yada özel karakterlerle başlayamaz.
function 2lestir(){
} // hatalı fonksiyon adı tanımlaması
3. Anahtar sözcüklerden biri, ( return, function gibi ) Fonksiyon adı olarak kullanılmaz.
funciton new (){
} // hatalı fonksiyon adı tanımlaması
Çağırılan fonksiyon, bloğuna ait olan satırı çalıştırır ve fonksiyon bitiminde çağrıldığı satıra geri döner.
Örnek Fonksiyon ;
Aşağıdaki fonksiyonu Timeline 'da ilk Frame 'ye ekleyin.
deneme = function (){
trace ( "Şu an fonksiyon içindesiniz" );
}
Bir buton sembol oluşturun ve buton sembole aşşağıdaki kodu ekleyin.
on (press){
trace ( "Şu an buton içindesiniz" );
deneme (); // <---- Tam anlamı ile nasıl kullanıldığını hala öğrenemedim
trace ( "Şu an tekrar buton içindesiniz" );
}
( Olmadı function (); // forumlarda bi sor bakak hata nirde )
// Hata tamamdır _root. ekledim sorun kalmadı. dorusu aşağıda
on (press){
trace ( "Şu an buton içindesiniz" )
_root.deneme ();
trace ( "Şu an tekrar buton içindesiniz" )
}
Kısacası cok kullandıgın bi a.s ye function ozelligi ver sadece adı ile cagır her kodla yapma bu işi diyebiliriz...
Not = Daha önce tanımlanmış bir fonksiyonu daha sonra kullana biliriz. Tanımlanmamış bir fonksiyonu kullanamassın önceden
Örn ; 2 inci frame de tanımlanmış bir fonction u 1 inci framede kullanamassın 1 incide tanıtıp 2 incide kullanabilirsin.
Eğer bir fonksiyonu yol belirtmeye gerek kalmadan tüm timeline larda kullanmak istersek fonksiyonu global olarak tanımlamanız
gerekmektedir.
Aynı değişkenlerde olduğu gibi _global tanımlayıcısını kullanarak istediğimiz bir fonksiyonu, global tanımayabılırız.
_global.fonksiyonAdı = function (){
yapılacak işler;
}
_root. gibi ama onun ulaşamadığı yerlere ulaşıyo gibi düşünebiliriz.// cok kullandıgın gerekli yada sık kullandıklarını global
tanımla
/////*****----- Fonksiyonlara veri gönderme -----*****
functionAdı = function (){
daire. _x= 50
daire. _alpha= 50;
}
??????????????????????? ( Instance Name ini " daire " yaptım oldu a.q )
functionAdı = function (movieclip,x,alfa){// bu örneği (bu aradakiler yazı olmayacak tabi sanırım b: )
movieclip. _x.= x
moviclip. _alpha= alfa
}
???????????????????????
functionAdı ("daire", 50, 80);
yukardaki functionAdı diye tanımladığımız fonksiyonu çağırarak " daire " instance name referansına sahip mc nin _x pozisyonunda
( 50 ), _alpha özelliği ise 80 ' e ayarlanmasını sağlıyoruz // sanırım kütüphanedi mc yi çağırırken kullanıyoruz.
/////*****----- getTimer() -----*****
getTimer () fonksiyonu Flash movie nşn çalışma Flash Player içinde gödterdiği andan itibaren geçen süreyi milisaniye
olarak verir
getTimer () fonksiyonu ile Flash movie'nin çalışma zamanı alınarak baslangic değişkenine atanıyor. Flash movie oynatılmaya
başlayalı eğer 2 saniye geçti ise başlangic değişkeninin alacağı değer 999 milisanie *2 saniye = 1998 milisaniye olacaktır.
_root.onClipEvent = function (){
sure = getTimer () /999
if (sure > 10){
_root.daire._vixible = false
}
}
Yukardaki örneğe göre, Flash movie'nin Flash Player içinde görünmesinden 10 saniye sonra ana sahne üstündeki daire instance
name referansınsa sahip movie clip sembol görünmez olacaktır. Bı örnekten yola çıkarak getTimer () fonksiyonu ile zamanlanmış
görevler
hazırlayabilirsiniz.
Not = Flash Player 6 ve sonrası için getTimer () fonksiyonu yerine setInterval () fonksiyonunu kullanarak zamanlanmış
görevler oluşturabilirsiniz. setInterval () fonksiyonu kullanarak oluşturulan zamanlanmış görevler, getTimer () a göre daha
işlevsel olacaktır.
gorunmezYap = function (mc){
mc._visible = false;
clearInverval (gorunmezInverval);
};
gorunmezInverval = setInterval (gorunmezYap,1000,_root.daire) ;
/////*****----- Koşullu ifadeler ( Condition Expressions ) -----*****
if = Bir deyimin çalıştırılmasını, bir koşula bağlamak istiyorsanız, if deyimini kullanabilirsiniz. if deyimi;
if (koşul) {
Koşulun gerçekleşmesi durumunda yapılacak işler;
}
else = else deyimi if deyimi ile birlikte kullanılır ve if deyimi belirtilen kuşulun gerçekleşmemesi durumunda
çalıştırılacak satırları belirlemenize olanak sağlar.
else deyimi;
if (koşul){
Koşulun gerçekleşmesi durumunda yapılacak işler;
} else {
Koşulun gerçekleşmemesi durumunda yapılacak işler;
}
if (yas>=35){ // yaş 35 veya 35den büyükse
trace ("İkinci baharı yaşıyor ömrüm");
} else { // değilse ( yaş 35 den kücükse )
trace ("Daha ömrümün baharındayım");
}
else if = else if deyimi, if deyimi kullanılır ve bir if deyimi ile birlikte birden fazla koşulu kontrol etmesine
olanak sağlar.
if (derece<=0){
trace ("Hava 0 ın altında");
} else if (derece>0 && derece <20){
trace ("Hava 0 ile 20 derece arasında");
} else if (derece>20 && derece<30){
trace ("Hava 20 ile 30 derece arasında");
} else if (derece>30){
trace ("Hava 30 derece yada üstünde");
}
eğer else if yerine if deyimini kullanırsan birbirinden bağımsız olarak hareket eder kısacası yukardaki koda göre düşünürsek
Havanın 35 derece olduğunu farzedelim. ( ve kodları 0 ın üstünde 10 un üstünde 20 nin üstünde 30 un üstünde olduğunu varsayalım)
Yukardaki kodla çıkacak sonuc
trace ("Hava 0 ın üstünde") olacakdır. eğer if deyimini kullanırsak sadece cıkacak sonuc
Hava 0 ın üstünde
Hava 10 un üstünde
Hava 20 nin üstünde
Hava 30 un üstünde
olacakdır bunun nedeni " if " deyimi birbirinden ayrı çalışır. " else if " deyimi bir bütün ilkinde sonucu alamazsa
ikinci satıra geçer oradada alamassa 3 üncü satıra gecer...
--- switch, case, default ---
Flash Mx versiyonu ile gelen switch deyimi, kullanılarak tıpkı if deyiminde olduğu gibi, script akışını kontrol etmek amacı
ile kullanılır. Örnek ;
switch (sayi){
case 0:
gotoAndPlay (5);
break;
case 1:
gotoAndPlay(12);
break;
case 2:
gotoAndPlay (17);
break;
}
yukardaki örnekte anlatılan = switch deyimi ile sayı değişkeninin değeri kontrol ediliyor. Eğer sayı değişkeninin değeri 0'a
eşitse gotoAndPlay (5) satırı çalışacak ve Flash movie 5. frame'ye giderek oynatacak. 1'e eişte gotoAndPlay(12) satırı çalışacak
ve Flash movie 12. frame 'ye giderek oynayacak. 2' ye şitse gotoAndPlay(17) satırı çalışiacak ve Flash movie 17. frameye
giderek oynayacaktır.
Bir switch deyimi, case ile belirlenenuygun ifadeye rastladıktan sonra geriye kalan tüm kod bloğunun çalıştırılmasına devam
edecektir. Bunu önlemenin tek yolu konu başlığındaki break deyimini kullanmak olacaktır. case lerin altına koyarsan buldugunda
çalıştırmayı durduracaktır.
switch (sayi){
case 0:
gotoAndPlay (5);
break;// <------- sayımız 0 diyelim dier dizinler çalışmaz
case 1:
gotoAndPlay(12);
break;
case 2:
gotoAndPlay (17);
break;
}
--- " ?: " deyimi ---
?: bu deyim hemen hemen if deyimi ile aynı işlevi görür bir if deyimi ile yaptığımız kodu ?: na cevirirsek ?: deyiminin
daha kullanışlı ve kod olarak daha az yer kapladığını görebilir " if Örnek " ;
giris = true;
if (giris == true ) {
gotoAndPlay ("oynat");
} else {
gotoAndPlay ("durdur");
}
" ?: " Örnek :
giris = true;
git = giris ? "oynat" : "durdur";
gotoAndPlay(git);
--- Döngüler ( Loops ) ve Sonsuz Döngüler ---
Script akışı boyunca, bazı satırların belli bir şart gerçekleşinceye kadar çalışması gerekebilir. Örneğin; bir movie clip
sembolü duplicateMovieclip() fonksiyonu ile 10 kere kopyalamak gibi durumlarda, döngüleri kullanarak birden fazla
tekrarlanan işleri, bşr kaç satırlık kod ile halledebilir ve böylece uzun kod karmaşasından kurtulabiliriz.
ActionScript ' de her birinin birbirinden farklı işlevi olan while, do..while, for ve, for...in döngüleri bulunur. Bu
döngüleri ihtiyaca göre kullanarak, tekrarlanması gereken işleri, bşrkaç satırlık kod la kolayca halledebiliriz.
- while döngüsü -
while (koşul){
yapılacak işler;
}
şeklinde kullanılır. Koşul paremetresinde belirtilne ifade, true değerini döndürdüğü müddetçe, döngü tekrar başlayacak.
Örnek 1 =
i = 0;
while (i<10){
trace ("i değişken değeri 10 sayısından kucuk");
}
Yukardaki örnekte sonsuz bir döngü var çnki sayı asla 0 dan büyük olmuyor
Örnek 2 =
i = 0;
while (i<10){
trace ("i değişken değeri 10 sayısından kucuk");
i++;
}
Örnek 2 deki ne göre ekrana gelecek cıktı sayısı 9 tanedir çnki her seferinde 0 sayısına + 1 ekliyor..
Örnek 3 =
i = 0;
while (i<10){
getURL("http://www.huysuz.net" , "_blank")
i++;
}
Örnek 3 deki koda göre i değişkeni 10 değerini alana kadar 10 tane www.huysuz.net adresi açılacaktır.
( Bi ara andaca yapacagın ipneliğin daha kolay yolu sen eşeklik ettin her frameye yazdın )
Örnek 4 =
i = 0;
while (i<10){
getURL("http://www.huysuz.net" , "_blank")
}
Yukardaki kodlamaya göre düşünürsen sürekli www.huysuz.net adresi açılacak buda sonsuz döngüye girer.
Yanlış yada eksik tanımlanan bir kod sonsuz döngülere neden olabilir.
- do..while -
while döngüsünde, önce koşul kontrolü yapılıyor ve eğer koşul true değerini döndürürse döngü içindeki deyimler
çalıştırılarak, döngüde şart kontrolü için döngü tekrar başlatılıtordu.
do..while döngüsünde ise önce döngü içindeki deyimler çalıştırılmakta ve daha sonra loşul kontrol edilmektedir. Buna
göre, koşulun ilk döngüde true değerini döndürmesi durumunda bile, do..while döngüsü. gloğundaki satırlar en az
bir kere çalıştırılmış olacakdır. ( koşul doğru oldugu müddetce yapılan iş devam ediyor, taki koşul false olana kadar)
do {
yapılacak işler;
} while (koşul);
i = 0;
do {
trace (" i değişken değeri 0 sayısından küçük");
i++;
} while (i<0)
Örnekte ilk satırda 0 değerine sahip i değişkenini tanımlıyoruz. Sonraki satırda ise do..while döngüsünü kullanarak döngünün
devamı için i < 0 ( yukardakini calıstırdıgımızda output penceresınden trace cıktısını alacağız halbuki döngünün
çalışması icin ortada hic bir şart yok.
Örnek 2 =
i = 0;
do {
trace ("i değişkeninin değeri 5 den küçük");
i++
} while (i<5)
örnek 2 de bu sefer 5 tane yazı cıktısı alacaksınız. tıpkı while döngüsündeki gibi
Sonsuz bir döngüyü önlemek için while döngüsünde olduğu gibi, do..while döngüsünde de koşulu yerine getirecek yapının
döngü içinde olması gerekmektedir.
- for -
for döngüsü tıpkı while döngüsü gibidir ve çalışma mantığıda aynıdır. Belirtilen koşulun true değerini döndürmesiyle
döngü içindeki deyimler çalışacak ve döngü, koşul kontrolü için tekrar başlayacaktır.
for (değişken; koşul; sayaç){
yapılacak işler;
}
Örnek 2 =
for (i=1; i<10; i++){
trace ("i değişkeni 10 sayısından küçük ( +1 eklendi ) " );
}
- for...in -
Aslında, for...in döngüsünü anlamak için nesne kavramnını bilmeniz gerekmekte. for...in döngüsü, bir nesne içindeki tüm
özellikleri ayırmak ve nesne içindeki özellikler son bulana kadar döngü bloğu içindeki satırları çalıştırmak için kullanılır.
for ( değişken in nesne ) {
yapılacak işler;
}
for...in döngüsünün sözdizimi yukardaki gibidir. Bir for...in döngüsünde, nesne alanında belirtilen nesne içindeki tüm
özellikler döngünün devamını sağlar. Buna göre bir nesne eğer 5 özellik taşıyorsa for...in döngüsü de beş kez tekrarlanacak
ve her döngüde nesnenin o anki özelliği değişken değeri ne atanacaktır. Bu sayede değişken alanında belirtilen değişken
adı ile nesnenin o anda taşıdığı özelliğin değerine döngü içinde ulaşabilirsiniz.
//yeni bir nesne tanımlanıyor
program = new Object ();
//nesnenin özellikleri tanımlanıyor
program.Uretici = "Macromedia";
program.Ad = "Flash";
program.Versiyon = "Mx 2004";
//for...in döngüsü kuruluyor
for ( ozellik in program ) {
trace (ozellik + "özelliğin değeri" + program[ozellik] );
}
Alınan çıktı aşağıda ;
Versiyonözelliğin değeriMx 2004
Adözelliğin değeriFlash
Ureticiözelliğin değeriMacromedia
( Tam anlamadım )); )
--- Dögüleri kontrol Edin: continue ve break ---
- break -
break deyimi, döngünün sonlandırılmasını ve script içinde döngü bitiminden hemen sınraki satıra geçilmesini sağlar.
break;
şeklinde kullanılır ve hiç bir parametresi yoktur. break deyimini gören döngü kendini sonlandırır. break deyimi döngü
içinde genellikle if deyimi ile aşağıdaki gibi kullanılır.
i = 1;
while (i<10) {
if ( i == 5 ){
break;
}
trace (" döngü devam ediyor. i=" +i);
i++;
}
Yukardaki döngüye göre i değişkeninin değerinin 10 olmasıyla döngünün sona ermesi gerek. Fakat burada bşr istisna var
Eğer, i değişkeninin değeri 5'e eşitse true değerine dönecek ve böylece if deyimi bloğuna ait olan break deyimini
çalıştıracaktır. Böylece döngü şartı olan i değişkeni 10'a edit olmadığı halde break deyimi ile döngü sonlanacaktır.
Yukardaki kodu çalıştırdığımızda trace fonksiyonu ike output panelinden dört kez çıktı alırız. Çıktı aşağıda
döngü devam ediyor. i=1
döngü devam ediyor. i=2
döngü devam ediyor. i=3
döngü devam ediyor. i=4
döngü içinde istediğimiz bir şartın gerçekleşmesi durumunda break deyimini kullanarak, döngüyü sonlandırabiliriz.
- continue -
continue deyimi istisnai durumlarda döngü içindeki satırları çalıştırmayı durdurarak, döngü koşulunu tekrar kontrol
etmek üzere döngünün tekrar başlatılmasını sağlar. Aşşağıdaki gibi kullanılır ve hiçbir parametresi yoktur.
continue;
Döngü bloğu içinde. continue deyiminin kullanıldığı satırdan sonra bulunan satırlar çalıştırılmayacaktır.
continue deyimi, her döngü için farklı eylemler uygular.
while döngüsüyle kullanımında, koşulun kontrolü için döngü başına döner.
do...while döngüsüyle kullanımında, koşulun kontrolü icin döngü sona gider.
for döngüsüyle kullanımında, döngü başa döner ve döngü sayacı güncelleştirilerek, koşul kontrol edilir.
for...in döngüsüle kullanımında, belirtilen nesnenin varsa bir sonraki özelliğinden devam etmek üzere döngü başa döner.
for ( i = 1; i<5; i++){
if ( i ==2){
continue;
}
trace (i);
}
Çıktısı aşağıda
1
3
4
Normalde 1,2,3,4,5 cıktısının alınması gerekmektedir. Fakat burada istisnai bir durum söz konusudur. if deyimi ile
tanımlanmış Bu da i değişkeninin 2 sayısına eşit olduğu andır. i değişkeninin değeri 2 sayısına eşit olduğunda continue
deyimi devreye girerek trace fonksiyonunun çalışması öncelenecek ve sayacı bir arttırarak koşulu kontrol etmek üzere
döngü başına dönecektir. Bu durumda output panelinden alınacak cıktı 1,3,4 olacaktır. Görüldüğü gibi, 2 sayısı
Output panelinden alınan çıktıda yer almıyor. Çünki; continue deyimi, döngü içinde kendinden sonra gelen satırların
çalışmasını önlemektedir.
i= 1
while (i<5){
if ( i==2){
continue;
}
trace (i);
i++;
}
Yukardaki örnekte ise tıpkı for döngüsü örneğinde olduğu gibi i değişkeninin değeri 5 sayısından küçük olduğu müddetçe while
döngüsü devam edecektir. i değişkeninin değeri 2'ye eşit olduğunda continue deyimi devreye girecek ve kendinden sonra gelen
satırların çalışmasını önleyecektir. Bu durumda ++ öperatörüyle değeri bir arttırılmayan i değişkeninin değeri hep 2 kalacaktır
Bu nedenle i değişkeninin değeri hiç bir zaman 5 sayısından büyük olmayacağı için döngü sonsuz bir döngü olacaktır.
Not = Bu nedenle continue deyimini kullanığımız satıra dikkat etmemiz gerekir.
Form Mail Uygulaması
Flasda Bir form mail yapabilirsiniz. Bu sayede ziyaretçi form maili kullanarak sizin email adresinize mesaj gönderebilir.
---------------------------------------------------------------------- ---------------------------
Uygulama:
1-Sahnemize ziyaretçinin ismini yazacağı bir input text oluşturalım. Değişkenine "isim" yazalım
2-Sahnemize ziyaretçinin e-mailini yazacağı bir input text oluşturalım. Değişkenine "e-mail" yazalım
3-Sahnemize ziyaretçinin düşüncelerini yazacağı bir input text oluşturalım. Değişkenine "dusunce" yazalım
4-Sahnemize bir Gönder butonu oluşturalım. Butonu seçip action paneline aşağıdaki kodları ekleyelim.
on (release) {
loadVariables("MailGonder.asp",this,"POST");
}
5-Sahnedeki tüm nesneleri seçip form adında bir movie clip'e dönüştürelim.
6-Şimdi sıra geldi asp dosyasını oluşturmaya bunun için sisteminizde bulunan Not Defteri adındaki basit metin belgesini açın ve aşağıdaki kodları ekleyin.
<%
Set objMail = Server.CreateObject("CDONTS.NewMail")
'Mailin gönderilece?i yani sizin adresiniz.
objMail.To = "mail adresiniz."
'Flash Formdan gelen gönderenin Mail Adresi
objMail.From = Request.Form("e-mail")
'Mail in konusu
objMail.Subject = "Flash E-Mail Formdan gönderildi"
'Flash Formdan gelen Mesaj
objMail.Body = Request.Form("dusunce")
'Mail Gönderiliyor.
objMail.Send
%>
7-Mail adresinizi " mail adresiniz " kısmına yazınız.
8-Bu metin belgesini farklı kaydet seçeneğinden " MailGonder.asp " adını vererek fla ve swf dosyasının yanına kaydedin.
9-Servere gönderirkende html, swf ve asp dosyalarının aynı ortamda olmasına dikkat ediniz.
---------------------------------------------------------------------- ----------
Tavsiye Uygulaması
Flashda bir tavsiye sistemi yapabilirsiniz. Bu sayede flashla yapılmış sitelerinizide tavsiye yöntemi ile tanıtabilirsiniz.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Sahnemizde tavsiyeEt adında yeni bir movie clip (Ctrl+F
oluşturalım.
2-Movie clipimizin ilk frameine bir inpu text oluşturalım ve değişkenine "gonderen" yazalım.
3-Movie clipimizin ilk frameine bir inpu text oluşturalım ve değişkenine "alici" yazalım.
4-Yine movie clipimizin ilk framesine tavsiye et butonu hazırlayalım. Bu butonu seçerek action panaleline aşağıdaki kodları ekleyelim.
on (release) {
loadVariables ("tavsiyeEt.asp", this, "POST");
play ();
}
5-Movie clipimizin ilk framesini seçip action panaline aşağıdaki kodları ekleyelim.
yuklendi = "";
delete hata;
stop ();
6-Movie clipimizin ikinci frame olışturup bu framenin actions paneline aşağıdaki kodları ekleyelim.
if (yuklendi == "ok") {
if (hata == 1) {
gotoAndStop (4);
} else {
gotoAndStop (5);
}
} else {
play ();
}
7-Movie clipimizin ikinci framesinde iken sahneye" lütfen bekleyin" yazalım.
8-Movie clipimizin üçüncü framesinde iken sahneye" lütfen bekleyin" yazalım ve actions paneline aşağıdaki kodu yazalım.
prevFrame ();
9-Movie clipimizin dördüncü framesinde sahneye" hata oluştu tekrar deneyin" yazalım ve yanına tekrar butonu oluşturup butonun action panelie aşağıdaki kodları ekleyelim.
on (release) {
gotoAndStop (1);
}
10-Son olarak beşici frame'e "tavsiye etiğiniz için teşekkür ederiz" yazalım ve yanına geri butonu oluşturalım. butonun actions paneline aşağıdaki kodları ekleyelim.
on (release) {
gotoAndStop (1);
}
11-Şimdi sıra geldi asp dosyasını oluşturmaya bunun için sisteminizde bulunan Not Defteri adındaki basit metin belgesini açın ve aşağıdaki kodları ekleyin.
<%
Mesaj = "Buraya gönderilecek e-mail' in içeri?ini"
Mesaj = Mesaj & "yani sitenizle ilgili bilgi yazyn."
On Error Resume Next
set objMail = Server.CreateObject("CDONTS.NewMail")
objMail.to = Request.Form("alici")
objMail.From = Request.Form("gonderen")
objMail.Subject = "Arkada?ynyz tavsiye ediyor"
objMail.Body = Mesaj
objMail.Send
if Err>0 then
Response.Write "hata=1"&"&"
Response.Write "yuklendi=ok"
else
Response.Write "hata=0"&"&"
Response.Write "yuklendi=ok"
end if
%>
12- Mesaj ile başlayan satırlardaki " " işaretleri arasında kalan kısımaları kendi sitenize göre düzeltiniz. düzeltiniz.
13-Bu metin belgesini farklı kaydet seçeneğinden " tavsiyeEt.asp " adını vererek fla ve swf dosyasının yanına kaydedin.
14-Servere gönderirkende html,swf ve asp dosaylarının aynı ortamda olmasına dikkat ediniz.
---------------------------------------------------------------------- ----------
Mouse Koordinat Alma
Flashda mouse kordinatı alabilirisiniz. Bu uygulamayı sitenizde kullanabilirsiniz.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Sahneye dikey ve yatay iki çizgi çiziniz.
2-Dikey çizgiyi seçip F8 ' e basınız. Convert to Symbol Panelini açınız. Adını "dikeyBar" yazıp movie clip olarak kaydediniz.
3-Yatay çizgiyi seçip F8 ' e basınız. Convert to Symbol Panelini açınız. Adını "yatayBar" yazıp movie clip olarak kaydediniz.
4-Sahnemizde Ctrl+F8 ' e basıp koordinat adında yeni bir movie clip oluşturalım.
5-Bu movie clipimizin ilk iki frameine iki tane dinamik text oluşturalım.
6-Şimdide Movie clipimizde Action adında yeni bir layer oluşturalım.
7-Action layerimizin ilk frameine aşağıdaki kodları ekleyelim.
x_Koordinat = _root._xmouse;
y_Koordinat = _root._ymouse;
setProperty ("_root.dikeyBar", _x, x_koordinat);
setProperty ("_root.yatayBar", _y, y_Koordinat);
8-Action layerimizin ikinci frameine aşağıdaki kodu ekleyelim.
gotoAndPlay (1);
9-Koordinat isimli movie clipimizi F11 ' e basıp kütüphanemizden sahnemize taşıyalım.
10-Ctrl+Enter' e basıp filmimizi test edebiliriz.
---------------------------------------------------------------------- ----------
Özelleştirilmiş Cursor
Flash Movie'miz de klasik cursor kullanmak yerine kendi istediğiniz bir şekle sahip cusor kullanabilirsiniz.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Öncelikle kendi tercihimize göre bir cursor yani mouse ucu çiziniz.
2-Çizdiğiniz cursoru seçip Insert>Convert to Symbol (F
ile Symbol Properties' i açınız. Symbol Properties panelinden Symbol 'ün adını cursor yazarak Movie Clip'i seçip Ok ' a basınız.
3-Sahnenizde bulunan cursor Symbol' ü seçip Acitonscript paneline aşağıdaki kodları ekleyeniz.
onClipEvent (load) {
Mouse.hide();
startDrag("", true);
}
Cursor'u çalışmasını test edebilirsiniz; Control>Test Movie (Ctrl+Enter)
---------------------------------------------------------------------- ----------
Basit Preloading Uygulaması
Sık sık ziyaret ettiğiniz Flash web sayfalarında "Sayfa Yükleniyor Lütfen Bekleyiniz " gibi uyarı yazıları ile karşılaşırız. Eğer Flash'da yaptığımız bir işi İnternette yayınlamak istiyorsak önce bir preloading yani ön yükleme uygulamasını iyi bilmemiz gerekiyor. Alttaki örneğe bir gözatın ilk önce sayfa yüzde olarak gösterilerek yükleniyor.
---------------------------------------------------------------------- ---------------------------
Uygulama:
1-"Preload" ve "Flash Movie" adında iki tane sahne oluşturunuz.
2-Preload sahnesinde Ctrl+F8 'e basıp " Load Movie " adında boş bir movie clip oluşturunuz.
3-Load Movie adındaki film klibimizin ilk iki frame ' ine "Yükleniyor Lütfen Bekleyiniz" ve " 100% " yazalım. " 100% " yazısını seçip properties panelinden dynamic text'e dönüştürelim ve değişkenini " yuklemeBilgisi " diye girelim. Sonra Layer 1'e sağ tıklayıp İnsert layer ile ikinci bir Layer oluşturalım. Layer 2 'ye çift tıklayıp ismini action diye değiştirelim.
4-Action Layer ' ının ilk framesine aşağıdaki kodları ekleyelim.
boyut = _root.getBytesTotal();
yuklenen = _root.getBytesLoaded();
if (yuklenen == boyut) {
_root.gotoAndPlay(2);
} else {
yuklemeBilgisi = Math.floor((yuklenen/boyut)*100) + "%";
play ();
}
5-Action Layer ' ının ikinci framesine de aşağıdaki kodu ekleyelim.
gotoAndPlay (1);
6-Şimdi Scane panelinden Preload sahnesine geçelim.
7-F11 ' e basıp kütüphaneden Load Movie klibini tutup sahnenize yerleştiriniz.
8-Preload sahnemizde işimiz bitti. Flash Movie sahnemize geçip istediğimiz animasyonu yapabiliriz.
9-Hepsi bu kadar Ctrl+Enter ' e basıp Filminizi test edebilirsiniz.
---------------------------------------------------------------------- ----------
Ses Açma - Kapama Uygulaması
Flashda sesleri kontrol etmeyi iyi bilmelisiniz. Çünkü Web site tasarımı, Animasyon, Oyun gibi işlerde sesler yoğun halde kullanılır. Bu uygulamayla ses açama kapamayı öğreneceksiniz.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-İlk önce 1.Frame'e sesi açmak için kullanacağımız bir play butonu çizelim
2-Play butonunu "Play" adını vererek buton sembolüne dönüştürelim.
3-Play butonunun Actions paneline aşağıdaki kodları ekleyelim.
on (release) {
gotoAndPlay(2);
}
4-İlk önce 2.Frame'e sesi açmak için kullanacağımız bir Stop butonu çizelim. 5-Stop butonunu "Stop" adını vererek buton sembolüne dönüştürelim.
6-Stop butonunun Actions paneline aşağıdaki kodları ekleyelim.
on (release) {
stopAllSounds();
}
on (release) {
gotoAndPlay(1);
}
7-Şimdi her iki frame'in action paneline aşağıdaki kodu ekleyin.
stop();
8-Son olarak İstedğiniz bir ses dosyasını 2. frame'e ekleyin.
9-Ses dosyasının bulunduğu 2. frame'e gelerek properties panelinden sesin "Loop" yada "Repeat" olarak ayarlayabilirsiniz.
10-Hepsi bu kadar şimdi test yapabilirsiniz. (Ctrl+Enter)
---------------------------------------------------------------------- ----------
Pop - Up Pencere Uygulaması
Flashda bir butona pop up pencere açtırabilirsiniz. Bu yöntem flashta site yaparken çok işinize yarayabilir.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Sahnemize bir buton çizelim.
2-Çizdiğimiz butonu seçip F8 ' den buton sembolüne çevirelim.
3-Buton sembolümüzü seçip aşağıdaki kodları action paneline ekleyelim.
on (release){
var url = " javascript:window.open('http://www.flashforumu.com','newwindow','heigh t=300,width=500,top =, left =,resizable=0,status=1,scrollbars=0,menubar =0,toolbar = 1,fullscreen=0');void(0)"
getURL(url)
}
4-Hepsi bu kadar. Ctrl+Enter ' e basıp test edebilirsiniz.
---------------------------------------------------------------------- ----------
Tam Ekran Uygulaması
Flashda bir butona tam ekran bir pencere açtırabilirsiniz. Bu yöntem flashta site yaparken çok işinize yarayabilir.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Sahnemize bir buton çizelim.
2-Çizdiğimiz butonu seçip F8 ' den buton sembolüne çevirelim.
3-Buton sembolümüzü seçip aşağıdaki kodları action paneline ekleyelim.
on (release){
var url = " javascript:window.open('http://www.flashforumu.com','newwindow','heigh t=,width=,top =, left =,resizable=0,status=0,scrollbars=0,menubar =0,toolbar = 0,fullscreen=1');void(0)"
getURL(url)
}
4-Hepsi bu kadar. Ctrl+Enter ' e basıp test edebilirsiniz.
---------------------------------------------------------------------- ----------
Dijital Saat Uygulaması
---------------------------------------------------------------------- ---------------------------
Uygulama:
1-Sahneye dinamik bir text ekleyin.
2-Dinamik text' in değişkenini "saat" olarak yazın.
3-Sahnedeki tüm nesneleri seçip F8' e basarak movie clip haline dönüştürün.
Movie Clip' i seçerek Action Script panelini açarak aşağıdaki kodları ekleyin.
onClipEvent (enterFrame) {
saat = new Date();
mevcut_saat = saat.getHours();
mevcut_dakika = saat.getMinutes();
mevcut_saniye = saat.getSeconds();
if (mevcut_saat<10) {
mevcut_saat = "0"+mevcut_saat;
}
if (mevcut_dakika<10) {
mevcut_dakika = "0"+mevcut_dakika;
}
if (mevcut_saniye<10) {
mevcut_saniye = "0"+mevcut_saniye;
}
saat = mevcut_saat+":"+mevcut_dakika+":"+mevcut_saniye;
}
Hepsi bu kadar şimdi filiminizi test edebilirsiniz.
---------------------------------------------------------------------- ----------
Dijital Tarih Uygulaması
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Sahneye dinamik bir text ekleyin.
2-Dinamik text' in değişkenini tarih olarak yazın.
3-Sahnedeki tüm nesneleri seçip F8' e basarak movie clip haline dönüştürün.
Movie Clip' i seçerek Action Script panelini açarak aşağıdaki kodları ekleyin.
onClipEvent (enterFrame) {
arrayAylar= ["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz" ,"Ağustos","Eylül","Ekim","Kasım","Aralık"];
arrayGunler = ["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma" ,"Cumartesi"];
tarih = new Date();
ayBilgisi = tarih.getMonth();
turkceAy = arrayAylar[ayBilgisi];
gunBilgisi = tarih.getDay();
turkceGun = arrayGunler[gunBilgisi];
yilBilgisi = tarih.getFullYear();
tarih = tarih.getDate() + " " +turkceAy + " " + yilBilgisi+ " " + turkceGun;
}
Hepsi bu kadar şimdi filiminizi test edebilirsiniz.
---------------------------------------------------------------------- ----------
Dinamik Text'e Txt Dosyasından Rasgele Veri Yükleme
Flashda Dynamic Text'e txt dosyasından Rasgele Veri Yükleyebiliriz. Bu yöntemle, Flashla yapılmış siteleriniz kendiliğinden güncelleyebilirsiniz. Örneğin bu yöntemle dinamik bir haber bölümü yapabilirsiniz. Aşağıdaki swf'yi incelediğinizde ve sayfayı her yenilediğinizde değişik bir bilgi edindiğinizi fark edeceksiniz.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Text Tool ( T ) ile sahnemize bir text oluşturunuz. Ama flash bu texti static text olarak oluşturdu. Bu yüzden biz bu text'i seçip properties panelini açıp Dynamic Text'e dönüştürünüz ve değişkenini " veri " olarak giriniz.
2-Şimdi Sahnenize dönün ve 1. frameyi seçip Actionscript paneline şu kodları ekleyin.
dosyaSayisi = 5;
rasgeleSayi = Math.floor(Math.random()*dosyaSayisi)+1;
loadVariablesNum(rasgeleSayi + ".txt", 0);
Not: dosyaSayısı = 5; kısmındaki rakamı txt dosya sayısına göre verilmiştir. Ne kadar çok txt dosyası hazırlarsanız. Rakamı ona göre değiştirebilirsiniz.
3-Şimdi de bu fla dosyasını kaydettiğiniz dosyayın yanına " 1,2,3,4 ve 5 " ismindeki bir basit metin belgelerini kaydedin.
4-Metin belgelerini açıp hepsinin içine " veri= " yazın. Bukoddan sonra ne yazarsanız swf dosyasının içindeki dinamik texte yüklenecektir.
---------------------------------------------------------------------- ----------
Dinamik Text'e Txt Dosyasından Veri Yükleme
Flashda Dynamic Text'e txt dosyasından Veri Yükleyebiliriz. Bu yöntemle, Flashla yapılmış sitelerinizi zahmetsizce güncelleyebilirsiniz.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Text Tool ( T ) ile sahnemize bir text oluşturunuz. Ama flash bu texti static text olarak oluşturdu. Bu yüzden biz bu text'i seçip properties panelini açıp Dynamic Text'e dönüştürünüz ve değişkenini " veri " olarak giriniz.
2-Şimdi Sahnenize dönün ve 1. frameyi seçip Actionscript paneline şu kodları ekleyin.
loadVariablesNum ("veriler.txt", 0);
3-şimdi de bu flash dosyasını kaydettiğiniz dosyayın yanına " veriler " isminde bir basit metin belgesi oluşturunuz.
4-Veriler metin belgesini açıp " veri= " yazınız bu eşittir (=) işaretinden sonra ne yazarsanız swf dosyasındaki Dynamic Text' in içine yüklenecektir.
---------------------------------------------------------------------- ----------
FLASH'TA "sansür" KULLANILANLARA EKLEME BUTONU:
Flash'ta sık kullanılanlara ekle butonu yapmak son derece basittir. Önce bir buton çizin sonra çizdiğiniz nesneyi seçerek F8 ' e basın. Buradan buttonu işaretleyip ok ' a basın.
Buton seçili halde iken actions panelini açıp şu kodları verebilirsiniz.
on (release) {
getURL ("javascript:window.external.AddFavorite('http://http://www.macromedia turk.com/','MacromediaTURK')");
}
Kodları kendi sitenizin bilgilerine göre değiştirirdiğinizde butona basıldığında siteniz ziyaretçisi sitenizi sık kullanılanlarına eklenmiş olacaktır.
Unutmayın bu yalnız İnternet Explorer için geçerlidir.
İyi çalışmalar....
---------------------------------------------------------------------- ----------
FLASH'TA SESLERİ LİBRARYDEN ÇAĞIRMA:
Bu kısa dersimizde Flash ta libraryden ses çağırmasını öğreneceğiz.
Bunun için önce birinci frameye şu kodları verelim...
efect = function (ses) {
my_sound = new Sound();
my_sound.attachSound(ses);
my_sound.start(0, 1);
}
Sonrada libraryi (CTRL+L) açıp orada bulunan ses dosyasına sağ tıklayıp linkage seçeneğini seçtiğimizde çıkan panelden export for action script kutucuğunu işaretleyip aktf hale gelen en üstteki yazıyı istediğimiz gibi değiştirelim (türkçe karakter,boşluk veya rakamla başlamamalı) ör: ses1
butonada şöyle bir kod verebilirsiniz.
on(press){
_root.efect("ses1");
}
işte bu kadar şimdi test movie yaptığınızda ve butona bastığınızda libraryden sesin geldiğini duyacaksınız....
iyi çalışmalar..
---------------------------------------------------------------------- ----------
GotoAndPlay(); KODUNU KULLANIMI:
Bu kisa dersimizde gotoAndPlay(); kodunu kullanmayi ögrenecegiz.
Bunu için önce bir buton çizmeliyiz. Sonra butonu seçip F8 e basmaliyiz. Karsimiza çikan panelden buttonu isaretleyip ok'a baslamaliyiz. Sonra bir frame daha açmak için frameye tiklayip F6 ya basmaliyiz.
Simdi 1. framedeki butonu seçip actions panelini açip su kodlari vermeliyiz.
on (release) {
gotoAndPlay(2);
}
Simdi de 2. framedeki butonu seçip actions panelini açip su kodlari vermeliyiz.
on (release) {
gotoAndPlay(1);
}
Son olarakta sirayla 1. ve 2. frameyi seçip actions paneline su kodu vermeliyiz.
stop();
Not: 1. framenin sahnesine SU ANDA SAHNENIN 1.KARESINDESINIZ ve 2. framenin sahnesine SU ANDA SAHNENIN 2.KARESINDESINIZ diye yazarsaniz butonun çalistigini rahatlikla fark edebilirsiniz.
iyi çalismalar...
---------------------------------------------------------------------- ----------
WEB BUTONU:
Bu kisa dersimizde web butonu yapmayi ögrenecegiz.
Bunu için önce bir buton çizmeliyiz. Sonra butonu seçip F8 e basmaliyiz. Karsimiza çikan panelden buttonu isaretleyip ok'a baslamaliyiz.
sonra butonu seçip actions panelini açip su kodlari vermeliyiz.
on (release) {
getURL("http://www.macromediaturk.com");
}
" " isaretlerinin arasina istediginiz adresi yazabilirsiniz.
hepsi bu kadar test ettiginizde butona basinca yazdiginiz adresi açtigini göreceksiniz.
iyi çalismalar...
---------------------------------------------------------------------- ----------
GET URL
merhaba
1. frameye aşağıdaki kodu veriniz.
getURL("http://www.örneksite.com");
Bu kodu hangi frameye eklerseniz o frameye geldiğinde siteye kendiliğinden bağlanacaktır.
Farklı pencerede bağlanmasını istiyorsanız. Aşağıdaki kodu kullanınız.
getURL("http://wwww.örneksite.com", "_blank");
saygılarımla uyurcizer ;
---------------------------------------------------------------------- ----------
KLAVYE KONT
Sahneye bir tane ok çizin nesneyi seçerek F8 basın ordan Movie Clip olarak kaydedin.
Movie Clip'i seçerek Action Script panelini açarak aşağıdaki kodları ekleyin.
onClipEvent (load) {
hiz = 5;
}
onClipEvent (enterFrame) {
if (Key.isDown(Key.LEFT) && !Key.isDown(Key.RIGHT)) {
_x -= hiz;
_rotation = 270;
}
if (Key.isDown(Key.RIGHT) && !Key.isDown(Key.LEFT)) {
_x += hiz;
_rotation = 90;
}
if (Key.isDown(Key.UP) && !Key.isDown(Key.DOWN)) {
_y -= hiz;
_rotation = 0;
}
if (Key.isDown(Key.DOWN) && !Key.isDown(Key.UP)) {
_y += hiz;
_rotation = 180;
}
//
if (Key.isDown(Key.LEFT) && Key.isDown(Key.UP) && !Key.isDown(Key.RIGHT) && !Key.isDown(Key.DOWN)) {
_rotation = 315;
}
if (Key.isDown(Key.RIGHT) && Key.isDown(Key.UP) && !Key.isDown(Key.LEFT) && !Key.isDown(Key.DOWN)) {
_rotation = 45;
}
if (Key.isDown(Key.LEFT
Read More
Merhaba bazı flash ile ilgili çalışma notlarımı paylaşmak istedim.
Bu notlar Flash çalışmaya başladığım sıralarda benden sonra çalışan bi tanıdığım benim kadar zorlanmasın diyerek almıştım.
Hepsini pastelemek istemedim, öğretmekten çok hazır a konmak olacağını düşündüm.
Umarım faydası olur.
Flash a ilk başladığım zaman not tutmaya başladığım için bazılarına göre büyük bir kısmı basit olabilir fakat bilmeyenler için yazdım.
--- El yazısı effecti ---
El yazılarını maskeleme yontemı ıle yap Frame frame yuvarlak koyarak
//----Bir Animasyonu tam ekran oynatmak icin ( durum cubugu vs. gözükmez (Ekran Koruyucular icin ideal))---
on (release){
fscommand ("fullscreen", "true");
}
//---sahneyi yada animasyonu normal büyüklüğünde oynatmak için---
on (release){
fscommand ("fullscreen", "false");
}
//---Sahne tam ekran yapıldığında nesneleri aynı oranda büyültmek---
on (release){
fscommand ("allowscale", "true");
}
//---Nesneleri gerçek boyutlarında göstermek---
on (release){
fscommand ("allowscale", "false");
}
//---Flash player a ait menuyu göstermek---
on (release) {
fscommand ("showmenu" , "true");
}
//---Flash player a ait menüyü gizlemek---
on (release){
fscommand ("showmenu", "false");
}
//---Kısayol tuşlarını pasif yapmak---
("trapallkeys", "true");
//---Kısayol tuşlarını aktif yapmak---
("trappalkeys", "false");
//---Bir program çalıştırmak---
on (release) {
fscommand ("exec", "calc.exe);
}
//---Programı kapatmak---
on (release)
fscommand ("quit");
}
//--- Scane istediğin sanırım )):---
on (release)
gotoAndPlay ("Scane2",1); // Scane2 ( Scane adı) ,1 (Frame)
}
//---Çalışan Flashdan çıkmak Kullanıcı için---
on (release)
fscommand (quit, true);
}
//---Bir İnput dakileri vs. bi yere kaydetmesi icin kullanabilirsin. Yada Yönetici mesaj felan---
on (release){
adi="Enver";
soyadi="Sen";
yasi=1;
fscommand ("save","zp.txt");
}
//---Aşağıdaki örnekte farenin düğme üzerine gelmesi ile filmin 2.karesi, farenin dışına çıkması ilefilmin 1. karesi
on (rollOver) {
tellTarget(zpik){
gotoAndPlay(2);
}}
on (rollOut) {
tellTarget(zpik){
gotoAndPlay(1);
}}
//---Eğer scane 2 nin 6. frane yüklendiyse 7.frame çalıştır.---
ifFrameLoaded ("Scane 2", 6){
gotoAndPlay(7);
}
//---loadMovie ve Film Yükle( Bir konumdaki filmi istenilen level e yüklemek için kullanılır---
//loadMovie(url [,konum/hedef, degiskenler ]]);
on (release){
loadMovieNum ("xxxx.swf", 1);}
//---clibe alpha vermek---
on (release){
_root.zpclip._alpha=50;
//
zclip o clibin adı (movieclibin yada başka bişi olabilir.
}
//--Nesneyi görünmez yada görünür yapma
on (release) {
_root.zpclip._visible=0; //zpclip clibin adı
}
//---_x,y Nesnenin sol ve üst taraflarının pixel olarak sağa yada üst kısma doğru ayarlanmasını sağlar
// kısacağı _x değerinin artması ile nesne sağa doru hareket eder
// _y değerinin artması sonucu ise nesne yukarıya doğru hareket eder..
on (release){
_root.zpclip2._x=100;
_root.zpclip2._y=100;
}
//---nesneyi %10 oranında buyultme ama olmadı )): ---
on (press){
genislik=_root.ass._xscale;
yukleklik=_root.ass._yscale;
genislik+=10;
yukseklik+=10;
_root.zpmc.xscale=genislik;
_root.zpmc.yscale=yukseklik;
}
//---Dönder 20 derecelik açılarla---
on (press){
donme=_root.zpmc._rotation;
donme+=20;
_root.zpmc._rotation=donme;
}
//---o butonun +9 u ile her biri ayrı rengde ve ayrı yerde çıkartıyo Ama çalışmıyo )): ---
on (press){
for (var i=0;i<9;i++){
zmpc.duplicateMovieClip("zmpc"
_root["zmpc"+i]._x=Math.floor(
_root["zmpc"+i]._y=Math.floor(
top_rengi= new Color (_root["zmpc" add +i]);
kirmizi = Math.floor(Math.random()*225);
yesil = Math.floor(Math.random()*225);
mavi = Math.floor(Math.random()*225);
//rengi uygula
top_rengi.setRGB(kirmizi*65536 + yesil*256 + mavi);
}
}
//---Tıkladğında Buton yapışır eline Mouse onunla beraber hareket eder --
on (press) {
startDrag(this, false);
}
//---Tuş bırakıldığında sürüklemeyi ( Taşımayı ) sona erdir---
on (release){
stopDrag();
}
//---İkisini bi kullan Taşı Bırak ( Açılır kapanır Menü Hesabı ) ---
on (press) {
startDrag(this, false);
}
on (release){
stopDrag();
}
//--- Bir şeyi istediğin yere taşı bırak olmassa geri gelsin harf oyunu gibi
//Eğer ihtiyacın olursa AS 197 den okuyabilirsin AS 1.0 Boş oluncada oku..
-----// Açıklama Örneğin i++ Bunun anlamı i yi coğalt i-- i yi azalt Enver++ cogalt...-----
---// Bunlar bitince AS 1.0 sayfa 216 da preLoading var onu çalış... ---
---// Bir txt deki yazıyı swf ye getirtmek zahmetsiz + bunu yukarı assagı oynatmak aynı sagdakı gıbı mouse well yada
tuş ile yukarı aşağı oynatmak açıklayıcı bilgiler için ideal. ve sürekli değişiyorsa haber bölümüde olabilir ---
Sahneye 1 tane metin kutusu çiz bunun buyuklugu kadar alanın ıcınde olacak yazılar. Bunun adını Metin_kutusu yap (mesela yani)
Sonra bunu Dynamic metin kutusuna cevir ve Multiline olarak yap ( single line multiline ) sonra aynı klasor e bir tane txt yap
isminide deneme.txt olarak degiştir. Şimdi altına bi tane buton çiz buton yaptıktan sonra as sine geç (Yukle buton):
on (release){
loadVariables ("deneme.txt","");
}
Silmek İçin (sil botonuna yaz);
on (release){
_root.metin_kutusu="";
}
Yukarı Çıkartmak ıcın ( (Efect) bi tane buton çiz dynamic in sagına Yukarı butonu olsun bu ;
on (press){
metin_kutusu.scroll--;
}
Aşagı indirmek icin( (Efect) bi tane buton çiz dynamic in sagına asagi butonu olsun bu ;
on (press){
metin_kutusu.scroll++;
}
istersen bunları mouse ustune gelınce de yaparsın, istersen sole bisi yap uo bolumu skiller
64 tane buton olsun her birine tıklayınca dier skiil i aynı ekranda gostersin (;
Ama atıyorum Anatomy skill ine tıkladıgında yazıların karısmaması için 68 skill in adresini yazacaksın sılecek hepsini tek tıklamaya
Neden mi bole bı ona tıklar bı buna sonra yazılar karısır ((:
on (release){
_root.Swordsmanship="";
}
on (release){
_root.Healing="";
}
on (release){
_root.Mage="";
}
on (release){
_root.Poisoning="";
}
// alt taraf ekrana gelecek yazı yukarısı silinenler
on (release){
loadVariables ("Anatomy.txt","");
}
//Ve yukarı cıkartmak asagı ındırtmek ıcın 64 skillin adınıda yazmak gerekıyor ((: aşagıdakı gıbı
//Yukarı Buton
on (release){
Anatomy.scroll--;
}
on (release){
Mage.scroll--;
}
//aşagı ındırmek ıcın
on (release){
Anatomy.scroll++;
}
on (release){
Mage.scroll++;
}
---İstediğin Frame de istediğin kadar bekletmek icin verilen kod
stop();
basla=function(){
clearInterval(zamanlama);
play();
}
zamanlama=setInterval(basla,
--- Kütüphanedeki 1 mc çalıştırmak ---
on (press){
_root.attachMovie("yuvarlak", "yuvarlak_mc",-11);//mc nin adı yuvarlak mc sonra yuvarlak_mc olarak kopyalıyo atıyo ekrana
_root.yuvarlak_mc._alpha = Math.random () *100;
_root.gotoAndPlay (5);
}
/* Yukardaki tuşa basıldıgı anda kütüphanede duran "yuvarlak" adlı movieClip i" 1 tane kopyalayarak ismini
"yuvarlak_mc" olarak değiştirir ve sahnede 1 yer belirleyerek o kısımda çalıştırır
((((( _root.attachMovie("yuvarlak", "yuvarlak_mc",-11); )))) üçüncü satırda her çalışmasında o mc ye
kafasına göre alpha ( saydamlık verir random ) ( _root.yuvarlak_mc._alpha = Math.random () *100; )
ücüncü satırın bır anlamı yok
--- Kütüphanedeki 1 mc yi çağırdıgında ( mc nin adı yuvarlak_mc ) Çağırdığın mc nin istediğin yerden cıkması ıcın
_root.yuvarlak_mc._x = 150;
_root.yuvarlak_mc._y = 150;
----- çağırdığın mc yi istediğin frameden başlatmak için
_root.yuvarlak_mc.gotoAndPlay (5);
--- Frame Hızını arttırma ve düşürme ---
2.si setinterval komutu ile bu işi yapabilirsin... istediğin movie clip'i istediğin hızda oynatabilirsin....örnek kodlar
aşağıda :
MovieClip.prototype.gogo=
clearInterval(this.fps_id);
this.fps_id=setInterval(
with(id1) {
if(_currentframe==_
else gotoAndStop(_currentframe+1)
}updateAfterEvent();
},1000/fps,this);
}
mc1.gogo(24);
mc2.gogo(30);
mesela burada "mc1" bir movie clip mc1 24 frame hızıyla hareket ediyor...
mc2 de bir movie clip oda 30 frame hızıyla hareket ediyor......umarım anlatabilmişimdir.....
kolay gelsin.....
--- as yükletme ve çalıştırma ---
#include komutunun bulundugu satırda - açıklamalarda dahil olmak üzere - başka hiçbir ifade
bulunmamalıdır.
#include "hariciDosya.as" // Class dosyasını yükle anlamına geliyor
yukardaki örnekte, #include komutu ile aynı satırda bir açıklama kullanılmıştır. Fakat bu bir
hatadır ve bu nedenle harici script dosyası Flash movie içine yğklenmeyecekdir. Düngünü aşağıda
on (press){
#include "Linker.as" //linker script dokumanının adı
getUrl(link_1,"_blank");
gotoAndPlay(frame_1);
}
--- Dizi Array Değişkenleri ( Bir değişkenin içinde birden fazla veri saklamak icin " new Array (); " değeri kullanılır.
Örnek :
Kullanici = new Array ();
Kullanici [0] ="Savaş"
Kullanici [1] ="Tekin"
Kullanici [2] ="Numan"
Kullanici [3] =" Sedat"
/*örnekte görüldüğü gibi önce "new" operatörü ile yeni bir dizi değişken Array nesnesi oluşturuluyor ve oluşturulan nesne
" kullanici " değişkenine atanıyor. " kullanici " değişkeni, artık dizi değişken olduğu için birden fazla değer
taşıyabilir.
Bu değişkenin sonuna yada başına sonradan bir ilave yapmak istenilirse -- kullanici.push"("ıvır", "zıvır"); -- olarak ekle bu
sonuna yazar başına yazmak istenilirse komut --Kullanici.unshift("zıvır", "ıvır");
Bir dizi değişkenin varolan öğelerini kopyalayarak yada yenni öğeler ekleyerek de yeni bir Array nesnesi oluşturabilirsiniz
Kullanici.concat(ıvır,zıvır); kullanici adı adında belirtilen dizi değişlkenin kopyasını alır ve değer parametresinde
belirtilen yeni öğeleride ekleyerek, dönen sonucu yeni bir dizi değişkene atar.
Kullanici1 = [1,2,3,4,5];
Kullanici2 = [6,7,8,9,0];
tum_kullanici = Kullanici1.concat(kullanici2);
örnekte kullanici1 dizi değişkeninin öğeleri 1,2,3,4,5, ve kullanici2 dizi değişkeninin öğeleri ise 6,7,8,9,0 dır.
concat metodu ile kullanici1 dizi değişkeninin öğeleri, kullanici2 dizi değişkeninin öğeleri ile birleştirilmiştir.
bu durumda ortaya yeni bir dizi değişken çıkmış ve bu dizi değişkenin, tum_kullanici değişkenine atanmıştır. Bu durumda
tum_kullanici dizi değişkeninin değeri şu şekilde olacakdır.
0:1
1:2
2:3
3:4
4:5
5:6
6:7
7:8
8:9
9:0
Bu metod kullanilirken kullanici1 ve kullanici2 dizi değişkenlerinde bir değişiklik olmaz "copy paste" hesabı*
--- Bu dizilerden Öğe çıkartma yada silme ---
kullanici = new Array ("Beyinsiz", "Salak", "Odun", "Aptal");
delete kullanici[1]; // <--- bu komut ile yukardaki dizi değişkeninin içindeki 1 numaralı ( Salak ) kelimesi silindi.
Salak silindi Çünki : Salak 1 Numara dizilerde 0 dan başlıyo yada öle bişi emin deilim.
--- Bu dizilerdeki ilk öğeyi silmek icin ayrı bir yol var ( 0 ) numaralı öğeyi ---
kullanici = new Array ("Funda", "Ulaş", "Ebru");
kullanici.shift(); // Funda silindi geriye Ulaş ve Ebru kaldı.
Bu değişkeni istersen başka bi yere atıyabilirsin ornek :
kullanici = new Array ("Funda", "Ulaş", "Ebru");
SilinenKullanici = kullanici.shift();//böylece shift (); ile silinen kullanıcı " SilinenKullanici " değişkenine taşındı.
/////*****----- Delete ile silindiği zaman sıra numaraları değişmez 0,1,2,3 diye kalır shift(); ile silindiginde
kayar 0 numaralı olanı siler 1 numara 0 olur sıra ile kayar -----*****
--- shift (); olayının tam tersi pop(); dur bu da sondaki öğeyi siler.
kullanici = new Array ("Funda", "Ulaş", "Ebru");
kullanici.pop();//Ebru silindi
Aynı shift (); deki gibi silinen öğeyi başka bi değişkene atayabilirsin. ( Kes Yapıştır hesabı )
kullanici = new Array ("Funda", "Ulaş", "Ebru");
SilinenOge = kullanici.pop();//öğeyi kullanicidan kesip "SilinenOge" ye yapıştırdık.
--- Dizi lerde kullanılan "1 taşla 2 kuş" yöntemiymiş splice (); metodu
kullanici.splice(baslangic,
kullanici = new Array ("Funda", "Ulaş", "Ebru");
kullanici.splice (1,2, "Murtaza", "Demet");
Sonuç : 1 ve 2 numaralı öğe silindi ve sona "Murtaza ve Demet" eklendi.
kullnici = ("Funda", "Murtaza", "Demet");
--- Array nesnesinin sort(); metodunu kullanarak, istediğiniz bir dizi değişkeninin öğelerini alfabetik sıraay göre
düzenleyebiliriz
isimler = new Array ("Murtaza", "Ahmet", "Onder", "Mehmet");
isimler.sort();//aşağıdaki şekilde dizer
0= Ahmet
1= Mehmet
2= Murtaza
3= Onder
isimler.sort(-1); //bu şekilde olursa ters dizilir z-a ya
//////*****----- Fonksiyonlar ( Funcsitons ) Notlar -----*****
Ne dir ? = Hemen hemen her projenizde mutlaka tekrarlayarak yapmanız gereken işlemler bulunur. Kodları kopyalayıp yapıştırmak
yada kodları tekrar yazmak sizin icin tek çözüm gibi görünebilir. (ame deil
Diyelim ki; aşağıdaki satırı en az 15 movie clip sembol ıcın kullanmanız gerekiyor.
movieClip_mc._x = 50;
Sonradan bu değeri 70 olduğunu düşün felan filan.... ( böle bi işe yarıyo ama tam anlamadım tekrar çalış bu konuya )
Funcitonlar bir kere tanımlanırlar ve tüm Flash move içinde kullanılabilirler. Fonksiyon tanımlanın iki farklı yolu var.
Her iki durumdada function anahtar sözcüpü kullanılır.
function fonksiyonAdı () {
yapılacak işler ;
}
ya da ;
fonksiyonAdı = function (){
yapılacak işler;
}
Yukarıda görüldüğü gibi her fonksiyonun bir adı olur ve gerektiğinde fonksiyonu tanımladığımız bu adla fonksion
çağırabiliriz.
Fonksiyon adı tanımlanırken değişkenlerde olduğu gibi aşşağıdaki kurallara uymalısınız ;
1. Fonksiyon adları içinde boşluk kullanılmaz.
function özellik ayarla (){
} // hatalı fonksiyon adı tanımlaması
2. Fonksiyon adları sayı yada özel karakterlerle başlayamaz.
function 2lestir(){
} // hatalı fonksiyon adı tanımlaması
3. Anahtar sözcüklerden biri, ( return, function gibi ) Fonksiyon adı olarak kullanılmaz.
funciton new (){
} // hatalı fonksiyon adı tanımlaması
Çağırılan fonksiyon, bloğuna ait olan satırı çalıştırır ve fonksiyon bitiminde çağrıldığı satıra geri döner.
Örnek Fonksiyon ;
Aşağıdaki fonksiyonu Timeline 'da ilk Frame 'ye ekleyin.
deneme = function (){
trace ( "Şu an fonksiyon içindesiniz" );
}
Bir buton sembol oluşturun ve buton sembole aşşağıdaki kodu ekleyin.
on (press){
trace ( "Şu an buton içindesiniz" );
deneme (); // <---- Tam anlamı ile nasıl kullanıldığını hala öğrenemedim
trace ( "Şu an tekrar buton içindesiniz" );
}
( Olmadı function (); // forumlarda bi sor bakak hata nirde )
// Hata tamamdır _root. ekledim sorun kalmadı. dorusu aşağıda
on (press){
trace ( "Şu an buton içindesiniz" )
_root.deneme ();
trace ( "Şu an tekrar buton içindesiniz" )
}
Kısacası cok kullandıgın bi a.s ye function ozelligi ver sadece adı ile cagır her kodla yapma bu işi diyebiliriz...
Not = Daha önce tanımlanmış bir fonksiyonu daha sonra kullana biliriz. Tanımlanmamış bir fonksiyonu kullanamassın önceden
Örn ; 2 inci frame de tanımlanmış bir fonction u 1 inci framede kullanamassın 1 incide tanıtıp 2 incide kullanabilirsin.
Eğer bir fonksiyonu yol belirtmeye gerek kalmadan tüm timeline larda kullanmak istersek fonksiyonu global olarak tanımlamanız
gerekmektedir.
Aynı değişkenlerde olduğu gibi _global tanımlayıcısını kullanarak istediğimiz bir fonksiyonu, global tanımayabılırız.
_global.fonksiyonAdı = function (){
yapılacak işler;
}
_root. gibi ama onun ulaşamadığı yerlere ulaşıyo gibi düşünebiliriz.// cok kullandıgın gerekli yada sık kullandıklarını global
tanımla
/////*****----- Fonksiyonlara veri gönderme -----*****
functionAdı = function (){
daire. _x= 50
daire. _alpha= 50;
}
??????????????????????? ( Instance Name ini " daire " yaptım oldu a.q )
functionAdı = function (movieclip,x,alfa){// bu örneği (bu aradakiler yazı olmayacak tabi sanırım b: )
movieclip. _x.= x
moviclip. _alpha= alfa
}
???????????????????????
functionAdı ("daire", 50, 80);
yukardaki functionAdı diye tanımladığımız fonksiyonu çağırarak " daire " instance name referansına sahip mc nin _x pozisyonunda
( 50 ), _alpha özelliği ise 80 ' e ayarlanmasını sağlıyoruz // sanırım kütüphanedi mc yi çağırırken kullanıyoruz.
/////*****----- getTimer() -----*****
getTimer () fonksiyonu Flash movie nşn çalışma Flash Player içinde gödterdiği andan itibaren geçen süreyi milisaniye
olarak verir
getTimer () fonksiyonu ile Flash movie'nin çalışma zamanı alınarak baslangic değişkenine atanıyor. Flash movie oynatılmaya
başlayalı eğer 2 saniye geçti ise başlangic değişkeninin alacağı değer 999 milisanie *2 saniye = 1998 milisaniye olacaktır.
_root.onClipEvent = function (){
sure = getTimer () /999
if (sure > 10){
_root.daire._vixible = false
}
}
Yukardaki örneğe göre, Flash movie'nin Flash Player içinde görünmesinden 10 saniye sonra ana sahne üstündeki daire instance
name referansınsa sahip movie clip sembol görünmez olacaktır. Bı örnekten yola çıkarak getTimer () fonksiyonu ile zamanlanmış
görevler
hazırlayabilirsiniz.
Not = Flash Player 6 ve sonrası için getTimer () fonksiyonu yerine setInterval () fonksiyonunu kullanarak zamanlanmış
görevler oluşturabilirsiniz. setInterval () fonksiyonu kullanarak oluşturulan zamanlanmış görevler, getTimer () a göre daha
işlevsel olacaktır.
gorunmezYap = function (mc){
mc._visible = false;
clearInverval (gorunmezInverval);
};
gorunmezInverval = setInterval (gorunmezYap,1000,_root.daire)
/////*****----- Koşullu ifadeler ( Condition Expressions ) -----*****
if = Bir deyimin çalıştırılmasını, bir koşula bağlamak istiyorsanız, if deyimini kullanabilirsiniz. if deyimi;
if (koşul) {
Koşulun gerçekleşmesi durumunda yapılacak işler;
}
else = else deyimi if deyimi ile birlikte kullanılır ve if deyimi belirtilen kuşulun gerçekleşmemesi durumunda
çalıştırılacak satırları belirlemenize olanak sağlar.
else deyimi;
if (koşul){
Koşulun gerçekleşmesi durumunda yapılacak işler;
} else {
Koşulun gerçekleşmemesi durumunda yapılacak işler;
}
if (yas>=35){ // yaş 35 veya 35den büyükse
trace ("İkinci baharı yaşıyor ömrüm");
} else { // değilse ( yaş 35 den kücükse )
trace ("Daha ömrümün baharındayım");
}
else if = else if deyimi, if deyimi kullanılır ve bir if deyimi ile birlikte birden fazla koşulu kontrol etmesine
olanak sağlar.
if (derece<=0){
trace ("Hava 0 ın altında");
} else if (derece>0 && derece <20){
trace ("Hava 0 ile 20 derece arasında");
} else if (derece>20 && derece<30){
trace ("Hava 20 ile 30 derece arasında");
} else if (derece>30){
trace ("Hava 30 derece yada üstünde");
}
eğer else if yerine if deyimini kullanırsan birbirinden bağımsız olarak hareket eder kısacası yukardaki koda göre düşünürsek
Havanın 35 derece olduğunu farzedelim. ( ve kodları 0 ın üstünde 10 un üstünde 20 nin üstünde 30 un üstünde olduğunu varsayalım)
Yukardaki kodla çıkacak sonuc
trace ("Hava 0 ın üstünde") olacakdır. eğer if deyimini kullanırsak sadece cıkacak sonuc
Hava 0 ın üstünde
Hava 10 un üstünde
Hava 20 nin üstünde
Hava 30 un üstünde
olacakdır bunun nedeni " if " deyimi birbirinden ayrı çalışır. " else if " deyimi bir bütün ilkinde sonucu alamazsa
ikinci satıra geçer oradada alamassa 3 üncü satıra gecer...
--- switch, case, default ---
Flash Mx versiyonu ile gelen switch deyimi, kullanılarak tıpkı if deyiminde olduğu gibi, script akışını kontrol etmek amacı
ile kullanılır. Örnek ;
switch (sayi){
case 0:
gotoAndPlay (5);
break;
case 1:
gotoAndPlay(12);
break;
case 2:
gotoAndPlay (17);
break;
}
yukardaki örnekte anlatılan = switch deyimi ile sayı değişkeninin değeri kontrol ediliyor. Eğer sayı değişkeninin değeri 0'a
eşitse gotoAndPlay (5) satırı çalışacak ve Flash movie 5. frame'ye giderek oynatacak. 1'e eişte gotoAndPlay(12) satırı çalışacak
ve Flash movie 12. frame 'ye giderek oynayacak. 2' ye şitse gotoAndPlay(17) satırı çalışiacak ve Flash movie 17. frameye
giderek oynayacaktır.
Bir switch deyimi, case ile belirlenenuygun ifadeye rastladıktan sonra geriye kalan tüm kod bloğunun çalıştırılmasına devam
edecektir. Bunu önlemenin tek yolu konu başlığındaki break deyimini kullanmak olacaktır. case lerin altına koyarsan buldugunda
çalıştırmayı durduracaktır.
switch (sayi){
case 0:
gotoAndPlay (5);
break;// <------- sayımız 0 diyelim dier dizinler çalışmaz
case 1:
gotoAndPlay(12);
break;
case 2:
gotoAndPlay (17);
break;
}
--- " ?: " deyimi ---
?: bu deyim hemen hemen if deyimi ile aynı işlevi görür bir if deyimi ile yaptığımız kodu ?: na cevirirsek ?: deyiminin
daha kullanışlı ve kod olarak daha az yer kapladığını görebilir " if Örnek " ;
giris = true;
if (giris == true ) {
gotoAndPlay ("oynat");
} else {
gotoAndPlay ("durdur");
}
" ?: " Örnek :
giris = true;
git = giris ? "oynat" : "durdur";
gotoAndPlay(git);
--- Döngüler ( Loops ) ve Sonsuz Döngüler ---
Script akışı boyunca, bazı satırların belli bir şart gerçekleşinceye kadar çalışması gerekebilir. Örneğin; bir movie clip
sembolü duplicateMovieclip() fonksiyonu ile 10 kere kopyalamak gibi durumlarda, döngüleri kullanarak birden fazla
tekrarlanan işleri, bşr kaç satırlık kod ile halledebilir ve böylece uzun kod karmaşasından kurtulabiliriz.
ActionScript ' de her birinin birbirinden farklı işlevi olan while, do..while, for ve, for...in döngüleri bulunur. Bu
döngüleri ihtiyaca göre kullanarak, tekrarlanması gereken işleri, bşrkaç satırlık kod la kolayca halledebiliriz.
- while döngüsü -
while (koşul){
yapılacak işler;
}
şeklinde kullanılır. Koşul paremetresinde belirtilne ifade, true değerini döndürdüğü müddetçe, döngü tekrar başlayacak.
Örnek 1 =
i = 0;
while (i<10){
trace ("i değişken değeri 10 sayısından kucuk");
}
Yukardaki örnekte sonsuz bir döngü var çnki sayı asla 0 dan büyük olmuyor
Örnek 2 =
i = 0;
while (i<10){
trace ("i değişken değeri 10 sayısından kucuk");
i++;
}
Örnek 2 deki ne göre ekrana gelecek cıktı sayısı 9 tanedir çnki her seferinde 0 sayısına + 1 ekliyor..
Örnek 3 =
i = 0;
while (i<10){
getURL("http://www.huysuz.net"
i++;
}
Örnek 3 deki koda göre i değişkeni 10 değerini alana kadar 10 tane www.huysuz.net adresi açılacaktır.
( Bi ara andaca yapacagın ipneliğin daha kolay yolu sen eşeklik ettin her frameye yazdın )
Örnek 4 =
i = 0;
while (i<10){
getURL("http://www.huysuz.net"
}
Yukardaki kodlamaya göre düşünürsen sürekli www.huysuz.net adresi açılacak buda sonsuz döngüye girer.
Yanlış yada eksik tanımlanan bir kod sonsuz döngülere neden olabilir.
- do..while -
while döngüsünde, önce koşul kontrolü yapılıyor ve eğer koşul true değerini döndürürse döngü içindeki deyimler
çalıştırılarak, döngüde şart kontrolü için döngü tekrar başlatılıtordu.
do..while döngüsünde ise önce döngü içindeki deyimler çalıştırılmakta ve daha sonra loşul kontrol edilmektedir. Buna
göre, koşulun ilk döngüde true değerini döndürmesi durumunda bile, do..while döngüsü. gloğundaki satırlar en az
bir kere çalıştırılmış olacakdır. ( koşul doğru oldugu müddetce yapılan iş devam ediyor, taki koşul false olana kadar)
do {
yapılacak işler;
} while (koşul);
i = 0;
do {
trace (" i değişken değeri 0 sayısından küçük");
i++;
} while (i<0)
Örnekte ilk satırda 0 değerine sahip i değişkenini tanımlıyoruz. Sonraki satırda ise do..while döngüsünü kullanarak döngünün
devamı için i < 0 ( yukardakini calıstırdıgımızda output penceresınden trace cıktısını alacağız halbuki döngünün
çalışması icin ortada hic bir şart yok.
Örnek 2 =
i = 0;
do {
trace ("i değişkeninin değeri 5 den küçük");
i++
} while (i<5)
örnek 2 de bu sefer 5 tane yazı cıktısı alacaksınız. tıpkı while döngüsündeki gibi
Sonsuz bir döngüyü önlemek için while döngüsünde olduğu gibi, do..while döngüsünde de koşulu yerine getirecek yapının
döngü içinde olması gerekmektedir.
- for -
for döngüsü tıpkı while döngüsü gibidir ve çalışma mantığıda aynıdır. Belirtilen koşulun true değerini döndürmesiyle
döngü içindeki deyimler çalışacak ve döngü, koşul kontrolü için tekrar başlayacaktır.
for (değişken; koşul; sayaç){
yapılacak işler;
}
Örnek 2 =
for (i=1; i<10; i++){
trace ("i değişkeni 10 sayısından küçük ( +1 eklendi ) " );
}
- for...in -
Aslında, for...in döngüsünü anlamak için nesne kavramnını bilmeniz gerekmekte. for...in döngüsü, bir nesne içindeki tüm
özellikleri ayırmak ve nesne içindeki özellikler son bulana kadar döngü bloğu içindeki satırları çalıştırmak için kullanılır.
for ( değişken in nesne ) {
yapılacak işler;
}
for...in döngüsünün sözdizimi yukardaki gibidir. Bir for...in döngüsünde, nesne alanında belirtilen nesne içindeki tüm
özellikler döngünün devamını sağlar. Buna göre bir nesne eğer 5 özellik taşıyorsa for...in döngüsü de beş kez tekrarlanacak
ve her döngüde nesnenin o anki özelliği değişken değeri ne atanacaktır. Bu sayede değişken alanında belirtilen değişken
adı ile nesnenin o anda taşıdığı özelliğin değerine döngü içinde ulaşabilirsiniz.
//yeni bir nesne tanımlanıyor
program = new Object ();
//nesnenin özellikleri tanımlanıyor
program.Uretici = "Macromedia";
program.Ad = "Flash";
program.Versiyon = "Mx 2004";
//for...in döngüsü kuruluyor
for ( ozellik in program ) {
trace (ozellik + "özelliğin değeri" + program[ozellik] );
}
Alınan çıktı aşağıda ;
Versiyonözelliğin değeriMx 2004
Adözelliğin değeriFlash
Ureticiözelliğin değeriMacromedia
( Tam anlamadım )); )
--- Dögüleri kontrol Edin: continue ve break ---
- break -
break deyimi, döngünün sonlandırılmasını ve script içinde döngü bitiminden hemen sınraki satıra geçilmesini sağlar.
break;
şeklinde kullanılır ve hiç bir parametresi yoktur. break deyimini gören döngü kendini sonlandırır. break deyimi döngü
içinde genellikle if deyimi ile aşağıdaki gibi kullanılır.
i = 1;
while (i<10) {
if ( i == 5 ){
break;
}
trace (" döngü devam ediyor. i=" +i);
i++;
}
Yukardaki döngüye göre i değişkeninin değerinin 10 olmasıyla döngünün sona ermesi gerek. Fakat burada bşr istisna var
Eğer, i değişkeninin değeri 5'e eşitse true değerine dönecek ve böylece if deyimi bloğuna ait olan break deyimini
çalıştıracaktır. Böylece döngü şartı olan i değişkeni 10'a edit olmadığı halde break deyimi ile döngü sonlanacaktır.
Yukardaki kodu çalıştırdığımızda trace fonksiyonu ike output panelinden dört kez çıktı alırız. Çıktı aşağıda
döngü devam ediyor. i=1
döngü devam ediyor. i=2
döngü devam ediyor. i=3
döngü devam ediyor. i=4
döngü içinde istediğimiz bir şartın gerçekleşmesi durumunda break deyimini kullanarak, döngüyü sonlandırabiliriz.
- continue -
continue deyimi istisnai durumlarda döngü içindeki satırları çalıştırmayı durdurarak, döngü koşulunu tekrar kontrol
etmek üzere döngünün tekrar başlatılmasını sağlar. Aşşağıdaki gibi kullanılır ve hiçbir parametresi yoktur.
continue;
Döngü bloğu içinde. continue deyiminin kullanıldığı satırdan sonra bulunan satırlar çalıştırılmayacaktır.
continue deyimi, her döngü için farklı eylemler uygular.
while döngüsüyle kullanımında, koşulun kontrolü için döngü başına döner.
do...while döngüsüyle kullanımında, koşulun kontrolü icin döngü sona gider.
for döngüsüyle kullanımında, döngü başa döner ve döngü sayacı güncelleştirilerek, koşul kontrol edilir.
for...in döngüsüle kullanımında, belirtilen nesnenin varsa bir sonraki özelliğinden devam etmek üzere döngü başa döner.
for ( i = 1; i<5; i++){
if ( i ==2){
continue;
}
trace (i);
}
Çıktısı aşağıda
1
3
4
Normalde 1,2,3,4,5 cıktısının alınması gerekmektedir. Fakat burada istisnai bir durum söz konusudur. if deyimi ile
tanımlanmış Bu da i değişkeninin 2 sayısına eşit olduğu andır. i değişkeninin değeri 2 sayısına eşit olduğunda continue
deyimi devreye girerek trace fonksiyonunun çalışması öncelenecek ve sayacı bir arttırarak koşulu kontrol etmek üzere
döngü başına dönecektir. Bu durumda output panelinden alınacak cıktı 1,3,4 olacaktır. Görüldüğü gibi, 2 sayısı
Output panelinden alınan çıktıda yer almıyor. Çünki; continue deyimi, döngü içinde kendinden sonra gelen satırların
çalışmasını önlemektedir.
i= 1
while (i<5){
if ( i==2){
continue;
}
trace (i);
i++;
}
Yukardaki örnekte ise tıpkı for döngüsü örneğinde olduğu gibi i değişkeninin değeri 5 sayısından küçük olduğu müddetçe while
döngüsü devam edecektir. i değişkeninin değeri 2'ye eşit olduğunda continue deyimi devreye girecek ve kendinden sonra gelen
satırların çalışmasını önleyecektir. Bu durumda ++ öperatörüyle değeri bir arttırılmayan i değişkeninin değeri hep 2 kalacaktır
Bu nedenle i değişkeninin değeri hiç bir zaman 5 sayısından büyük olmayacağı için döngü sonsuz bir döngü olacaktır.
Not = Bu nedenle continue deyimini kullanığımız satıra dikkat etmemiz gerekir.
Form Mail Uygulaması
Flasda Bir form mail yapabilirsiniz. Bu sayede ziyaretçi form maili kullanarak sizin email adresinize mesaj gönderebilir.
---------------------------------------------------------------------- ---------------------------
Uygulama:
1-Sahnemize ziyaretçinin ismini yazacağı bir input text oluşturalım. Değişkenine "isim" yazalım
2-Sahnemize ziyaretçinin e-mailini yazacağı bir input text oluşturalım. Değişkenine "e-mail" yazalım
3-Sahnemize ziyaretçinin düşüncelerini yazacağı bir input text oluşturalım. Değişkenine "dusunce" yazalım
4-Sahnemize bir Gönder butonu oluşturalım. Butonu seçip action paneline aşağıdaki kodları ekleyelim.
on (release) {
loadVariables("MailGonder.asp",this,"POST");
}
5-Sahnedeki tüm nesneleri seçip form adında bir movie clip'e dönüştürelim.
6-Şimdi sıra geldi asp dosyasını oluşturmaya bunun için sisteminizde bulunan Not Defteri adındaki basit metin belgesini açın ve aşağıdaki kodları ekleyin.
<%
Set objMail = Server.CreateObject("CDONTS.NewMail")
'Mailin gönderilece?i yani sizin adresiniz.
objMail.To = "mail adresiniz."
'Flash Formdan gelen gönderenin Mail Adresi
objMail.From = Request.Form("e-mail")
'Mail in konusu
objMail.Subject = "Flash E-Mail Formdan gönderildi"
'Flash Formdan gelen Mesaj
objMail.Body = Request.Form("dusunce")
'Mail Gönderiliyor.
objMail.Send
%>
7-Mail adresinizi " mail adresiniz " kısmına yazınız.
8-Bu metin belgesini farklı kaydet seçeneğinden " MailGonder.asp " adını vererek fla ve swf dosyasının yanına kaydedin.
9-Servere gönderirkende html, swf ve asp dosyalarının aynı ortamda olmasına dikkat ediniz.
---------------------------------------------------------------------- ----------
Tavsiye Uygulaması
Flashda bir tavsiye sistemi yapabilirsiniz. Bu sayede flashla yapılmış sitelerinizide tavsiye yöntemi ile tanıtabilirsiniz.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Sahnemizde tavsiyeEt adında yeni bir movie clip (Ctrl+F
2-Movie clipimizin ilk frameine bir inpu text oluşturalım ve değişkenine "gonderen" yazalım.
3-Movie clipimizin ilk frameine bir inpu text oluşturalım ve değişkenine "alici" yazalım.
4-Yine movie clipimizin ilk framesine tavsiye et butonu hazırlayalım. Bu butonu seçerek action panaleline aşağıdaki kodları ekleyelim.
on (release) {
loadVariables ("tavsiyeEt.asp", this, "POST");
play ();
}
5-Movie clipimizin ilk framesini seçip action panaline aşağıdaki kodları ekleyelim.
yuklendi = "";
delete hata;
stop ();
6-Movie clipimizin ikinci frame olışturup bu framenin actions paneline aşağıdaki kodları ekleyelim.
if (yuklendi == "ok") {
if (hata == 1) {
gotoAndStop (4);
} else {
gotoAndStop (5);
}
} else {
play ();
}
7-Movie clipimizin ikinci framesinde iken sahneye" lütfen bekleyin" yazalım.
8-Movie clipimizin üçüncü framesinde iken sahneye" lütfen bekleyin" yazalım ve actions paneline aşağıdaki kodu yazalım.
prevFrame ();
9-Movie clipimizin dördüncü framesinde sahneye" hata oluştu tekrar deneyin" yazalım ve yanına tekrar butonu oluşturup butonun action panelie aşağıdaki kodları ekleyelim.
on (release) {
gotoAndStop (1);
}
10-Son olarak beşici frame'e "tavsiye etiğiniz için teşekkür ederiz" yazalım ve yanına geri butonu oluşturalım. butonun actions paneline aşağıdaki kodları ekleyelim.
on (release) {
gotoAndStop (1);
}
11-Şimdi sıra geldi asp dosyasını oluşturmaya bunun için sisteminizde bulunan Not Defteri adındaki basit metin belgesini açın ve aşağıdaki kodları ekleyin.
<%
Mesaj = "Buraya gönderilecek e-mail' in içeri?ini"
Mesaj = Mesaj & "yani sitenizle ilgili bilgi yazyn."
On Error Resume Next
set objMail = Server.CreateObject("CDONTS.NewMail")
objMail.to = Request.Form("alici")
objMail.From = Request.Form("gonderen")
objMail.Subject = "Arkada?ynyz tavsiye ediyor"
objMail.Body = Mesaj
objMail.Send
if Err>0 then
Response.Write "hata=1"&"&"
Response.Write "yuklendi=ok"
else
Response.Write "hata=0"&"&"
Response.Write "yuklendi=ok"
end if
%>
12- Mesaj ile başlayan satırlardaki " " işaretleri arasında kalan kısımaları kendi sitenize göre düzeltiniz. düzeltiniz.
13-Bu metin belgesini farklı kaydet seçeneğinden " tavsiyeEt.asp " adını vererek fla ve swf dosyasının yanına kaydedin.
14-Servere gönderirkende html,swf ve asp dosaylarının aynı ortamda olmasına dikkat ediniz.
---------------------------------------------------------------------- ----------
Mouse Koordinat Alma
Flashda mouse kordinatı alabilirisiniz. Bu uygulamayı sitenizde kullanabilirsiniz.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Sahneye dikey ve yatay iki çizgi çiziniz.
2-Dikey çizgiyi seçip F8 ' e basınız. Convert to Symbol Panelini açınız. Adını "dikeyBar" yazıp movie clip olarak kaydediniz.
3-Yatay çizgiyi seçip F8 ' e basınız. Convert to Symbol Panelini açınız. Adını "yatayBar" yazıp movie clip olarak kaydediniz.
4-Sahnemizde Ctrl+F8 ' e basıp koordinat adında yeni bir movie clip oluşturalım.
5-Bu movie clipimizin ilk iki frameine iki tane dinamik text oluşturalım.
6-Şimdide Movie clipimizde Action adında yeni bir layer oluşturalım.
7-Action layerimizin ilk frameine aşağıdaki kodları ekleyelim.
x_Koordinat = _root._xmouse;
y_Koordinat = _root._ymouse;
setProperty ("_root.dikeyBar", _x, x_koordinat);
setProperty ("_root.yatayBar", _y, y_Koordinat);
8-Action layerimizin ikinci frameine aşağıdaki kodu ekleyelim.
gotoAndPlay (1);
9-Koordinat isimli movie clipimizi F11 ' e basıp kütüphanemizden sahnemize taşıyalım.
10-Ctrl+Enter' e basıp filmimizi test edebiliriz.
---------------------------------------------------------------------- ----------
Özelleştirilmiş Cursor
Flash Movie'miz de klasik cursor kullanmak yerine kendi istediğiniz bir şekle sahip cusor kullanabilirsiniz.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Öncelikle kendi tercihimize göre bir cursor yani mouse ucu çiziniz.
2-Çizdiğiniz cursoru seçip Insert>Convert to Symbol (F
3-Sahnenizde bulunan cursor Symbol' ü seçip Acitonscript paneline aşağıdaki kodları ekleyeniz.
onClipEvent (load) {
Mouse.hide();
startDrag("", true);
}
Cursor'u çalışmasını test edebilirsiniz; Control>Test Movie (Ctrl+Enter)
---------------------------------------------------------------------- ----------
Basit Preloading Uygulaması
Sık sık ziyaret ettiğiniz Flash web sayfalarında "Sayfa Yükleniyor Lütfen Bekleyiniz " gibi uyarı yazıları ile karşılaşırız. Eğer Flash'da yaptığımız bir işi İnternette yayınlamak istiyorsak önce bir preloading yani ön yükleme uygulamasını iyi bilmemiz gerekiyor. Alttaki örneğe bir gözatın ilk önce sayfa yüzde olarak gösterilerek yükleniyor.
---------------------------------------------------------------------- ---------------------------
Uygulama:
1-"Preload" ve "Flash Movie" adında iki tane sahne oluşturunuz.
2-Preload sahnesinde Ctrl+F8 'e basıp " Load Movie " adında boş bir movie clip oluşturunuz.
3-Load Movie adındaki film klibimizin ilk iki frame ' ine "Yükleniyor Lütfen Bekleyiniz" ve " 100% " yazalım. " 100% " yazısını seçip properties panelinden dynamic text'e dönüştürelim ve değişkenini " yuklemeBilgisi " diye girelim. Sonra Layer 1'e sağ tıklayıp İnsert layer ile ikinci bir Layer oluşturalım. Layer 2 'ye çift tıklayıp ismini action diye değiştirelim.
4-Action Layer ' ının ilk framesine aşağıdaki kodları ekleyelim.
boyut = _root.getBytesTotal();
yuklenen = _root.getBytesLoaded();
if (yuklenen == boyut) {
_root.gotoAndPlay(2);
} else {
yuklemeBilgisi = Math.floor((yuklenen/boyut)*100) + "%";
play ();
}
5-Action Layer ' ının ikinci framesine de aşağıdaki kodu ekleyelim.
gotoAndPlay (1);
6-Şimdi Scane panelinden Preload sahnesine geçelim.
7-F11 ' e basıp kütüphaneden Load Movie klibini tutup sahnenize yerleştiriniz.
8-Preload sahnemizde işimiz bitti. Flash Movie sahnemize geçip istediğimiz animasyonu yapabiliriz.
9-Hepsi bu kadar Ctrl+Enter ' e basıp Filminizi test edebilirsiniz.
---------------------------------------------------------------------- ----------
Ses Açma - Kapama Uygulaması
Flashda sesleri kontrol etmeyi iyi bilmelisiniz. Çünkü Web site tasarımı, Animasyon, Oyun gibi işlerde sesler yoğun halde kullanılır. Bu uygulamayla ses açama kapamayı öğreneceksiniz.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-İlk önce 1.Frame'e sesi açmak için kullanacağımız bir play butonu çizelim
2-Play butonunu "Play" adını vererek buton sembolüne dönüştürelim.
3-Play butonunun Actions paneline aşağıdaki kodları ekleyelim.
on (release) {
gotoAndPlay(2);
}
4-İlk önce 2.Frame'e sesi açmak için kullanacağımız bir Stop butonu çizelim. 5-Stop butonunu "Stop" adını vererek buton sembolüne dönüştürelim.
6-Stop butonunun Actions paneline aşağıdaki kodları ekleyelim.
on (release) {
stopAllSounds();
}
on (release) {
gotoAndPlay(1);
}
7-Şimdi her iki frame'in action paneline aşağıdaki kodu ekleyin.
stop();
8-Son olarak İstedğiniz bir ses dosyasını 2. frame'e ekleyin.
9-Ses dosyasının bulunduğu 2. frame'e gelerek properties panelinden sesin "Loop" yada "Repeat" olarak ayarlayabilirsiniz.
10-Hepsi bu kadar şimdi test yapabilirsiniz. (Ctrl+Enter)
---------------------------------------------------------------------- ----------
Pop - Up Pencere Uygulaması
Flashda bir butona pop up pencere açtırabilirsiniz. Bu yöntem flashta site yaparken çok işinize yarayabilir.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Sahnemize bir buton çizelim.
2-Çizdiğimiz butonu seçip F8 ' den buton sembolüne çevirelim.
3-Buton sembolümüzü seçip aşağıdaki kodları action paneline ekleyelim.
on (release){
var url = " javascript:window.open('http://www.flashforumu.com','newwindow','heigh t=300,width=500,top =, left =,resizable=0,status=1,scrollbars=0,menubar =0,toolbar = 1,fullscreen=0');void(0)"
getURL(url)
}
4-Hepsi bu kadar. Ctrl+Enter ' e basıp test edebilirsiniz.
---------------------------------------------------------------------- ----------
Tam Ekran Uygulaması
Flashda bir butona tam ekran bir pencere açtırabilirsiniz. Bu yöntem flashta site yaparken çok işinize yarayabilir.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Sahnemize bir buton çizelim.
2-Çizdiğimiz butonu seçip F8 ' den buton sembolüne çevirelim.
3-Buton sembolümüzü seçip aşağıdaki kodları action paneline ekleyelim.
on (release){
var url = " javascript:window.open('http://www.flashforumu.com','newwindow','heigh t=,width=,top =, left =,resizable=0,status=0,scrollbars=0,menubar =0,toolbar = 0,fullscreen=1');void(0)"
getURL(url)
}
4-Hepsi bu kadar. Ctrl+Enter ' e basıp test edebilirsiniz.
---------------------------------------------------------------------- ----------
Dijital Saat Uygulaması
---------------------------------------------------------------------- ---------------------------
Uygulama:
1-Sahneye dinamik bir text ekleyin.
2-Dinamik text' in değişkenini "saat" olarak yazın.
3-Sahnedeki tüm nesneleri seçip F8' e basarak movie clip haline dönüştürün.
Movie Clip' i seçerek Action Script panelini açarak aşağıdaki kodları ekleyin.
onClipEvent (enterFrame) {
saat = new Date();
mevcut_saat = saat.getHours();
mevcut_dakika = saat.getMinutes();
mevcut_saniye = saat.getSeconds();
if (mevcut_saat<10) {
mevcut_saat = "0"+mevcut_saat;
}
if (mevcut_dakika<10) {
mevcut_dakika = "0"+mevcut_dakika;
}
if (mevcut_saniye<10) {
mevcut_saniye = "0"+mevcut_saniye;
}
saat = mevcut_saat+":"+mevcut_dakika+":"+mevcut_saniye;
}
Hepsi bu kadar şimdi filiminizi test edebilirsiniz.
---------------------------------------------------------------------- ----------
Dijital Tarih Uygulaması
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Sahneye dinamik bir text ekleyin.
2-Dinamik text' in değişkenini tarih olarak yazın.
3-Sahnedeki tüm nesneleri seçip F8' e basarak movie clip haline dönüştürün.
Movie Clip' i seçerek Action Script panelini açarak aşağıdaki kodları ekleyin.
onClipEvent (enterFrame) {
arrayAylar= ["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz" ,"Ağustos","Eylül","Ekim","Kasım","Aralık"];
arrayGunler = ["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma" ,"Cumartesi"];
tarih = new Date();
ayBilgisi = tarih.getMonth();
turkceAy = arrayAylar[ayBilgisi];
gunBilgisi = tarih.getDay();
turkceGun = arrayGunler[gunBilgisi];
yilBilgisi = tarih.getFullYear();
tarih = tarih.getDate() + " " +turkceAy + " " + yilBilgisi+ " " + turkceGun;
}
Hepsi bu kadar şimdi filiminizi test edebilirsiniz.
---------------------------------------------------------------------- ----------
Dinamik Text'e Txt Dosyasından Rasgele Veri Yükleme
Flashda Dynamic Text'e txt dosyasından Rasgele Veri Yükleyebiliriz. Bu yöntemle, Flashla yapılmış siteleriniz kendiliğinden güncelleyebilirsiniz. Örneğin bu yöntemle dinamik bir haber bölümü yapabilirsiniz. Aşağıdaki swf'yi incelediğinizde ve sayfayı her yenilediğinizde değişik bir bilgi edindiğinizi fark edeceksiniz.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Text Tool ( T ) ile sahnemize bir text oluşturunuz. Ama flash bu texti static text olarak oluşturdu. Bu yüzden biz bu text'i seçip properties panelini açıp Dynamic Text'e dönüştürünüz ve değişkenini " veri " olarak giriniz.
2-Şimdi Sahnenize dönün ve 1. frameyi seçip Actionscript paneline şu kodları ekleyin.
dosyaSayisi = 5;
rasgeleSayi = Math.floor(Math.random()*dosyaSayisi)+1;
loadVariablesNum(rasgeleSayi + ".txt", 0);
Not: dosyaSayısı = 5; kısmındaki rakamı txt dosya sayısına göre verilmiştir. Ne kadar çok txt dosyası hazırlarsanız. Rakamı ona göre değiştirebilirsiniz.
3-Şimdi de bu fla dosyasını kaydettiğiniz dosyayın yanına " 1,2,3,4 ve 5 " ismindeki bir basit metin belgelerini kaydedin.
4-Metin belgelerini açıp hepsinin içine " veri= " yazın. Bukoddan sonra ne yazarsanız swf dosyasının içindeki dinamik texte yüklenecektir.
---------------------------------------------------------------------- ----------
Dinamik Text'e Txt Dosyasından Veri Yükleme
Flashda Dynamic Text'e txt dosyasından Veri Yükleyebiliriz. Bu yöntemle, Flashla yapılmış sitelerinizi zahmetsizce güncelleyebilirsiniz.
---------------------------------------------------------------------- ----------------------------
Uygulama:
1-Text Tool ( T ) ile sahnemize bir text oluşturunuz. Ama flash bu texti static text olarak oluşturdu. Bu yüzden biz bu text'i seçip properties panelini açıp Dynamic Text'e dönüştürünüz ve değişkenini " veri " olarak giriniz.
2-Şimdi Sahnenize dönün ve 1. frameyi seçip Actionscript paneline şu kodları ekleyin.
loadVariablesNum ("veriler.txt", 0);
3-şimdi de bu flash dosyasını kaydettiğiniz dosyayın yanına " veriler " isminde bir basit metin belgesi oluşturunuz.
4-Veriler metin belgesini açıp " veri= " yazınız bu eşittir (=) işaretinden sonra ne yazarsanız swf dosyasındaki Dynamic Text' in içine yüklenecektir.
---------------------------------------------------------------------- ----------
FLASH'TA "sansür" KULLANILANLARA EKLEME BUTONU:
Flash'ta sık kullanılanlara ekle butonu yapmak son derece basittir. Önce bir buton çizin sonra çizdiğiniz nesneyi seçerek F8 ' e basın. Buradan buttonu işaretleyip ok ' a basın.
Buton seçili halde iken actions panelini açıp şu kodları verebilirsiniz.
on (release) {
getURL ("javascript:window.external.AddFavorite('http://http://www.macromedia turk.com/','MacromediaTURK')");
}
Kodları kendi sitenizin bilgilerine göre değiştirirdiğinizde butona basıldığında siteniz ziyaretçisi sitenizi sık kullanılanlarına eklenmiş olacaktır.
Unutmayın bu yalnız İnternet Explorer için geçerlidir.
İyi çalışmalar....
---------------------------------------------------------------------- ----------
FLASH'TA SESLERİ LİBRARYDEN ÇAĞIRMA:
Bu kısa dersimizde Flash ta libraryden ses çağırmasını öğreneceğiz.
Bunun için önce birinci frameye şu kodları verelim...
efect = function (ses) {
my_sound = new Sound();
my_sound.attachSound(ses);
my_sound.start(0, 1);
}
Sonrada libraryi (CTRL+L) açıp orada bulunan ses dosyasına sağ tıklayıp linkage seçeneğini seçtiğimizde çıkan panelden export for action script kutucuğunu işaretleyip aktf hale gelen en üstteki yazıyı istediğimiz gibi değiştirelim (türkçe karakter,boşluk veya rakamla başlamamalı) ör: ses1
butonada şöyle bir kod verebilirsiniz.
on(press){
_root.efect("ses1");
}
işte bu kadar şimdi test movie yaptığınızda ve butona bastığınızda libraryden sesin geldiğini duyacaksınız....
iyi çalışmalar..
---------------------------------------------------------------------- ----------
GotoAndPlay(); KODUNU KULLANIMI:
Bu kisa dersimizde gotoAndPlay(); kodunu kullanmayi ögrenecegiz.
Bunu için önce bir buton çizmeliyiz. Sonra butonu seçip F8 e basmaliyiz. Karsimiza çikan panelden buttonu isaretleyip ok'a baslamaliyiz. Sonra bir frame daha açmak için frameye tiklayip F6 ya basmaliyiz.
Simdi 1. framedeki butonu seçip actions panelini açip su kodlari vermeliyiz.
on (release) {
gotoAndPlay(2);
}
Simdi de 2. framedeki butonu seçip actions panelini açip su kodlari vermeliyiz.
on (release) {
gotoAndPlay(1);
}
Son olarakta sirayla 1. ve 2. frameyi seçip actions paneline su kodu vermeliyiz.
stop();
Not: 1. framenin sahnesine SU ANDA SAHNENIN 1.KARESINDESINIZ ve 2. framenin sahnesine SU ANDA SAHNENIN 2.KARESINDESINIZ diye yazarsaniz butonun çalistigini rahatlikla fark edebilirsiniz.
iyi çalismalar...
---------------------------------------------------------------------- ----------
WEB BUTONU:
Bu kisa dersimizde web butonu yapmayi ögrenecegiz.
Bunu için önce bir buton çizmeliyiz. Sonra butonu seçip F8 e basmaliyiz. Karsimiza çikan panelden buttonu isaretleyip ok'a baslamaliyiz.
sonra butonu seçip actions panelini açip su kodlari vermeliyiz.
on (release) {
getURL("http://www.macromediaturk.com");
}
" " isaretlerinin arasina istediginiz adresi yazabilirsiniz.
hepsi bu kadar test ettiginizde butona basinca yazdiginiz adresi açtigini göreceksiniz.
iyi çalismalar...
---------------------------------------------------------------------- ----------
GET URL
merhaba
1. frameye aşağıdaki kodu veriniz.
getURL("http://www.örneksite.com");
Bu kodu hangi frameye eklerseniz o frameye geldiğinde siteye kendiliğinden bağlanacaktır.
Farklı pencerede bağlanmasını istiyorsanız. Aşağıdaki kodu kullanınız.
getURL("http://wwww.örneksite.com", "_blank");
saygılarımla uyurcizer ;
---------------------------------------------------------------------- ----------
KLAVYE KONT
Sahneye bir tane ok çizin nesneyi seçerek F8 basın ordan Movie Clip olarak kaydedin.
Movie Clip'i seçerek Action Script panelini açarak aşağıdaki kodları ekleyin.
onClipEvent (load) {
hiz = 5;
}
onClipEvent (enterFrame) {
if (Key.isDown(Key.LEFT) && !Key.isDown(Key.RIGHT)) {
_x -= hiz;
_rotation = 270;
}
if (Key.isDown(Key.RIGHT) && !Key.isDown(Key.LEFT)) {
_x += hiz;
_rotation = 90;
}
if (Key.isDown(Key.UP) && !Key.isDown(Key.DOWN)) {
_y -= hiz;
_rotation = 0;
}
if (Key.isDown(Key.DOWN) && !Key.isDown(Key.UP)) {
_y += hiz;
_rotation = 180;
}
//
if (Key.isDown(Key.LEFT) && Key.isDown(Key.UP) && !Key.isDown(Key.RIGHT) && !Key.isDown(Key.DOWN)) {
_rotation = 315;
}
if (Key.isDown(Key.RIGHT) && Key.isDown(Key.UP) && !Key.isDown(Key.LEFT) && !Key.isDown(Key.DOWN)) {
_rotation = 45;
}
if (Key.isDown(Key.LEFT
Asp.net Hatalar-1
Server Error in '/' Application.
Parser Error Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Could not load type 'matematikistan.----.---'.
Source Error:
Line 1: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="----.aspx.cs" Inherits="matematikistan.----.----" %> Line 2: Line 3: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
Kaydol:
Kayıtlar
(
Atom
)
search this website
email updates
Like us on facebook
Katkıda bulunanlar
Blogger tarafından desteklenmektedir.
Etiketler
- AJAX (3)
- alertbox (1)
- android (1)
- Asp.net (22)
- blogger (1)
- bootstrap (2)
- C# (1)
- Canvas (3)
- capture (2)
- datetime (1)
- dizüstü (1)
- dizüstü bilgisayardan interneti paylaştırmak (1)
- editör yapma (1)
- facebook api (1)
- Flash (1)
- format (1)
- geometri (6)
- google (1)
- Graf (1)
- Graf Teorisi (1)
- Hatalar (4)
- Html (1)
- html5 (2)
- iframe (1)
- ilköğretim (4)
- javascript (2)
- jquery (7)
- JSON (2)
- kablosuz (1)
- Karakter (1)
- Kodlama örnekleri (2)
- kütle (4)
- Laravel (2)
- laravel g-zip (1)
- Listbox (1)
- Matematik (20)
- matematikistan (2)
- matematikistan.net (16)
- mongoDB (1)
- msdos (1)
- mysql (4)
- netbeans (1)
- phonegap (1)
- php (3)
- php ile benzer tags (1)
- php similar tags (1)
- routing (2)
- Samsung (1)
- Save (1)
- Save Canvas (2)
- SOAP (1)
- tags (1)
- tarih (1)
- Thumbnail (1)
- Türkçe (1)
- türkçe karakter (1)
- Türksat 4A (1)
- url routing (2)
- utf-8 (1)
- Validation Kontrolleri (3)
- wifi (1)
- WYSIWYG (1)
- WYSIWYG editör (1)
- xml (1)
İşe Yarar Siteler
Popular Posts
-
Dosyaya erişim izni verme sudo chmod -R 777 /home/sixven/camp_sms/inputs
-
TCPDF de font türkçe destekli bile olsa zaman zaman sıkıntı yaratabiliyor. Yapılacak işlemler şunlar 1- http://fonts.snm-portal.com/ fon...
-
How to delete, disable and exit Demo Live Unit Retail Mode on the Samsung Galaxy S5 1. The first thing to do is to disable the retail mod...
-
Facebook uygulama geliştirirken bu tarz bir hata aldım. Çözümü : 1) https://developers.facebook.com sayfasından uygulamanın “Settings” ...
-
Localhost için Choreme Eklentisi = Eklenti Sunucu Taraflı çalışmalarda ise php dosyasının en üstüne aşağıdakileri ekleyebilirsiniz: he...
-
Öncelikle http://htmlagilitypack.codeplex.com/ sitesinden Html Agility Pack i indiriyoruz sonra projemizde sağ üstdeki solution ex...
-
Alıntı:http://www.zafercelenk.net/post/2010/06/23/SQL-ile-Kay%C4%B1tlar%C4%B1-Sayal%C4%B1m.aspx Geliştirdiğiniz uygulamalarda veritabanı...
-
Kaynak: https://www.zdaylan.com/c-system-tray-uygulamayi-gorev-cubugunda-calistirma/ formun özelliklerinden ShowInTaskbar Özelliğini Fal...
-
başlat>çalıştır>regedit burdan aşağıdaki değerleri silin; HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\De...
-
kaynak:http://www.daltinkurt.com/Icerik/186/Zip-ve-Unzip-Islemleri.aspx Hotmail' in, gelen epostaların ekini indirme seçeneklerind...
© Arif Erzin Bloğu-Kendime Notlar 2013 . Powered by Bootstrap , Blogger templates and RWD Testing Tool