Tools Paneline Yeni Çizim Elemanı Ekleme Yöntemi


Flash 8` de Tools paneline yeni elemanları kolaylıkla ekleyebilirsiniz. Yapılacak 3 işlem vardır:

1- Elemanı şekillendirecek bir *.jsfl dosyası oluşturmak. Burada kodlar bulunacaktır.

2- Panelde gözükecek eleman için bir icon hazırlamak.Bu icon 16*16 piksel boyutlarında ve png formatında olmalıdır.

3- C:\Program Files\Macromedia\Flash 8\en\First Run\Tools klasöründeki toolConfig.xml dosyasında değişiklik yapmak.

Uygulama:

1- Flash programnı açın. Program açıldığında hangi tür döküman açılmasını istediğinizi sorar. Siz Flash Javascript File seçeneğini tıklayın. Şayet doğrudan yeni bir sayfa açılımına ayarladıysanız Ana menüden File--> New seçeneği ile tercihler paneline ulaşıp Flash javacript dosyası açabilirsiniz. Bu dosyanın açılımında sahne gözükmez. Sadece actionscript paneli açıktır. Buraya alttaki kodarı yazın:

//Bu fonksiyonla yeni aracın adı, icon ismi, fare ile araç üzerine gelindiğindeki ipucu mesajı ayarlanır

function configureTool(){
myTool = fl.tools.activeTool;
myTool.setToolName("Heart");
myTool.setIcon("Heart.png");
myTool.setMenuString("Heart Tool");
myTool.setToolTip("Heart Tool");
}

// Bu kodlar çizim kodlarıdır.Aynı oval ve dikdörgen aracı gibi çalışır

function drawHeart(startX,startY,theWidth,theHeight){
if(fl.tools.shiftIsDown){
if(Math.abs(theWidth) > Math.abs(theHeight)){
if(theWidth<0 && theHeight<0){
theHeight = theWidth;
}else if(theWidth<0){
theHeight = -theWidth;
}else if(theHeight<0){
theHeight = -theWidth;
}else{
theHeight = theWidth;
}
}else if(Math.abs(theHeight) > Math.abs(theWidth)){
if(theHeight<0 && theWidth<0){
theWidth = theHeight;
}else if(theHeight<0){
theWidth = -theHeight;
}else if(theWidth<0){
theWidth = -theHeight;
}else{
theWidth = theHeight;
}
}
}
thePath.addCurve(startX+(theWidth/2),startY+(theHeight*.3), startX+(theWidth/2),startY
,startX+(theWidth/4),startY);
thePath.addCurve(startX+(theWidth/4),startY,startX, startY,startX,startY+(theHeight*.3));
thePath.addCurve(startX,startY+(theHeight*.3),startX+(theWidth/100), startY+
(theHeight*.75),startX+(theWidth/2),startY+theHeight);
thePath.addCurve(startX+(theWidth/2),startY+theHeight,startX+(theWidth-(theWidth/100))
,startY+(theHeight*.75),startX+theWidth,startY+(theHeight*.3));
thePath.addCurve(startX+theWidth,startY+(theHeight*.3),startX+theWidth, startY,startX+
(theWidth*.75),startY);
thePath.addCurve(startX+(theWidth*.75),startY,startX+(theWidth/2), startY,startX+
(theWidth/2),startY+(theHeight*.3));
}

// Fare ile araçlar kutusunda bu seçime basıldığında çağrılan kod grubudur.

function activate(){
myTool = fl.tools.activeTool;
}

// Araçlar kutusundan seçim yapılıp sahnede fareye bastığınız anda çizimi oluşturan kod grubu çağrılır.

function mouseDown(){
fl.drawingLayer.beginDraw();
}

/* Farenin sol tuşuna basılı iken çizimi oluşturmak için fare ile
yapılan sürükleme hareketi sırasında çalışan kod grubudur */


function mouseMove(){
if(fl.tools.mouseIsDown){
var difX=fl.tools.penLoc.x-fl.tools.penDownLoc.x;
var difY=fl.tools.penLoc.y-fl.tools.penDownLoc.y;
fl.drawingLayer.beginFrame();
drawLayer = fl.drawingLayer;
thePath = drawLayer.newPath();
drawHeart(fl.tools.penDownLoc.x,fl.tools.penDownLoc.y,difX,difY);
drawLayer.drawPath(thePath);
fl.drawingLayer.endFrame();
}
}

//Farenin sol tuşu bırakılıp çizim bittiği anda çağrılan kod grubudur

function mouseUp(){
fl.drawingLayer.endDraw();
thePath.makeShape();
}

//Kodların sonu

Şimdi bu dosyamızı heart.jsfl adı ile kaydedelim.1. işlem bitmiştir.

İkinci işlem olan icon dosyasını oluşturalım.Png formatında olması gerektiğini unutmayalım. Dosyanın ismi Heart.png olmalıdır. İsterseniz alttaki iconu kullanabilirsiniz:

İcon dosyanızda hazırsa son işleme geçebilirsiniz:

heart.jsfl ve Heart.png dosyalarınızı alttaki dizine kaydedin:

C:\Program Files\Macromedia\Flash 8\en\First Run\Tools

Tools klasörünü açttığınızda burada flasha aynı yöntemle eklenmiş olan Polystar dosyasını da göreceksiniz. Sadece yıldız aracının burada bulunup diğer çizim elemanlarının bulunmama nedeni yıldız aracının flash-mx2004 ile flash içine sonradan yerleştirilmesidir. Sanırım ileriki versiyonlarda bu alana aynı yöntemle başka çizim araçları da eklenecektir.

Tools aracına bu iki elemanı kopyaladıktan sonra yine aynı alandaki toolConfig.xml dosyası üzerine sağ klik yapın ve açılan panelden düzenle yi seçin. Dosya notepad ile açılacaktır. Bu alanda Polystar dizinin hemen altına Heart dizinini ekleyin. (Altta kırmızı ile yazılmış dizini) . Görüntü şöyle olacaktır:

<group name = "selection">
<tool name = "arrow"/>
<tool name = "bezierSelect"/>
<tool name = "freeXform"/>
<tool name = "fillXform"/>
<tool name = "line"/>
<tool name = "lasso"/>
<tool name = "pen"/>
<tool name = "text"/>
<tool name = "oval"/>
<tool name = "rect" >
<tool name = "polystar"/>

<tool name="Heart"/>
</tool>
<tool name = "pencil"/>
<tool name = "brush"/>
<tool name = "inkBottle"/>
<tool name = "bucket"/>
<tool name = "eyeDropper"/>
<tool name = "eraser"/>
<tool name = "hand"/>
<tool name = "magnifier"/>
</group>

Okeyleyip kaydı işleyin. Şimdi Flash programınızı kapayıp tekrar açın. Diktörgen aracı üzerindeki açılır menüye bastığınızda polystar aracının hemen altında heart aracınız gözükecektir.

ve sahnedeki görüntü:

Bu aracımızda aynı oval ve diktörtgen aracı gibi çalışır. Yani çizime başlamadan shift tuşuna basılı tutarsanız düzgün ebadlı bir çizim elde edebilirsiniz.