Kullanıcıya Ait Cevapları Göster: Mehmet KARACA(89)
Soru: flash as3 component yapımı
Soru: flash as3 component yapımı
merhaba
Flash cs3 As3 kullanıyorum şuan flash ortamı için kullandıgım bir MVC çatısı yok yıkarıdaki çatıyı swfAddres , amfphp den faydalanarak kurmaya çalısıyorum
dinamik php işler de CodeIgniter kullanıyorum zaten MVC sevdam bunla basladı
PureMVC nin dokümanları pek okunaklı degil
GAIA nın kaynak dökümanları daha okunaklı ama örnek video yu izledikten sonra sayfa geçişlerin de katı kuralları var sanıyorum ama incelemeye devam ediyorum
sayfa geçileri organizasyonu için kafam da şöle bir çözüm var
pagesHistory = new Array();
pagesHistory.push( "/defaultPage/" );
bir array dizinin de swf adres den bana gelen tüm sayfaları depoluyorum tüm link ler swfadresi tetikliyor swfaddress de tüm gelen istekleri array da topluyor
pagesHistory.push( e.value );
e.value swfaddres in vana verdigi sayfa link i oluyor
bende çagıracagım sayfayı
pagesHistory[ pagesHistory.lengh-1 ];
ile
ekrandan kaldıracagım sayfaı
pagesHistory[ pagesHistory.lengh-2 ];
ile buluyorum
defauld sayfam ise
pagesHistory[ pagesHistory[0] ];
busekilde harici swf yada aynı dosya içindeki sayfaları kontrol etmeyi planlıyorum papervision yada tweener geçişli sayfalara olanak saglaması gerekiyor sayfalar arası geçişler de loader ekleme yada eklememe özgürlügü. sayfa yüklü ise tekrar yükleme kontrolleri gibi bu b eklentiler dorultusun da bir çatı olusturmaya çalısıyorum
şuan AMFPHP , AWFAddress , Tweener kullanıyorum
verdiginiz cevaplar için çok tesekkürler..
Soru: AS2 de video yada fotograf üzerine tam ekran olarak pattern eklemek?
merhaba yukarıdaki kodları incelemedim ancak daha önce bir işimde kullanmak için ayzdıgım bir Class var istersen bir inceleyip kullana bilirsin
öncelik bu class ı Buplish panelin den Package de gosterilen hierarşi de sayfana ekle
package MotionCoder.display{
import flash.events.EventDispatcher;
import flash.events.Event;
import flash.display.MovieClip;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.display.BitmapData;
public class background_img extends EventDispatcher {
// event
public var RESIZE:String = "resize";
// background
public var target_container:MovieClip;
public var bg_img_container:MovieClip = new MovieClip();
public var bg_img_data:BitmapData= null;
public function background_img( target , img_data ){
this.target_container = target;
this.bg_img_data = img_data;
// event handler
this.target_container.stage.addEventListener(Event.RESIZE, this.doRESIZE );
this.init();
}
public function init(){
this.target_container.addChild( this.bg_img_container );
this.target_container.setChildIndex( this.bg_img_container , this.target_container.numChildren-1 )
this.draw( this.target_container.stage.stageWidth , this.target_container.stage.stageHeight );
}
public function draw( w:Number , h:Number ){
this.bg_img_container.graphics.clear();
this.bg_img_container.graphics.beginBitmapFill( this.bg_img_data );
this.bg_img_container.graphics.drawRect(0, 0, w , h );
this.bg_img_container.graphics.endFill();
}
// DO event ###########################################################
public function doRESIZE( e:Event = null):void {
dispatchEvent(new Event(this.RESIZE));
}
}
}
biraz uzun gübü görüle bilir ama olduk ca kullanıslı dosyamıza class ı ekledigimize göre artık kullana biliriz
kütüp hanene bir patter al ve sag tıklayıp linkage den class kısmına "bgpatternimg" ismini ver kodlar:
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
import MotionCoder.display.background_img;
var bg:background_img = new background_img( this , new bg_pattern_img(0,0) );
bg.addEventListener( bg.RESIZE , ciz );
function ciz(e:Event):void {
bg.draw( stage.stageWidth , stage.stageHeight );
}
işleyiş: var bg:backgroundimg = new backgroundimg( this , new bgpatternimg(0,0) ); bgpatternimg isimli resim i kütüp haneden al this seviyesine bu herhangir bir MovieClip ismide olabilir ekle artık patter imiz belirrtigimiz yerse oluştur swf dosyamız resize olduun da pattern imiz tekrar şekillen mesi için bir de event ekliyoruz bg.addEventListener( bg.RESIZE , ciz ); artık ciz fonction u ile pattern i istedigimiz boyutta tekrar çize biliyoruz bu opsiyonu class içine otamatik larak da alabilirsin ben ölçüleri farklı kullanırım diye ayırdım
kolaygelsin..<<
Ekli Dosyalar
Dosyalara ulaşabilmek için, üye iseniz giriş yapın, değilseniz üye olun.
- addiveresizepattern.swf
Soru: flash as3 component yapımı
merhaba
ali kıran çok tesekkür ler Gaia yı tekibe aldım fırsat bulukca inceliyorum. bu arada compiler clip üretmeyi basardım daha önce neden basaramadıgım da bilmiyorum tek satır kod yazmıstım hatanın koddan olması mümkün degil di ama simdi çalısıyor çok enteresan eskiden yaptıgım bir pattern uygulamasını Compiler ettim canavar gibi çalısıyor :D
tekrar çok tesekkürler bu baslık benim için çok faydalı oldu
kolaygelsin..<<
Ekli Dosyalar
Dosyalara ulaşabilmek için, üye iseniz giriş yapın, değilseniz üye olun.
- mcpattern.fla
- mcpattern.swf
- componentornegi.fla
Soru: flash as3 component yapımı
işte onları bi bilsem yapıcam
sahne genişleme kodunu resize olayını class içine katmamamın sebebi örnegin bir scroll bar yapıyorum ve scroll buton un sürüklendigi kısım da bir doku pattern gerekli işte burda stageResize bana engel istedigim zaman resize ederim diye dışarı aldım
aslında dün vaktım yoktu
set_pattern( path , BitmapData , AotoResize ) AotoResize yi boolean deger lendirip compiler içine alıcaktım
şuan ki tecrubemle projeyi moduller halinde sıkıstırmaktı amacım uygun olan yöntemi gösterirseniz hemen gecebilirim
peki modul bittiginde harici class dosyaları compiler clip içinde derlenip kalıcak daha sonra class dosyalarını baska uygulamalar için taşımayacagım dimi ?
ve SWC dosyaları hakkında hiç kaynak bulamadım sizin bilginiz varmı?
kolaygelsin..<<
Soru: Dinamik oluşturulan Spritelarda startDrag sorunu.
merhaba
dinamik Spriteleri ni oluştururken her siprite ye bir name verim name lerin den ulasmak istemissin
hatayı alma sebebin String veriye startDrag uygulaman olmus
bu şekilde kullanıcaksan tıkla function unun içinde ulaştıgın ismi nesneye çevirmen gerek bunun için 2 yöntem var
1. yöntem
var sp = getChildByName(evt.target.name) as Sprite
sp.startDrag();
2. yöntem
var sp = Sprite( getChildByName(evt.target.name) )
sp.startDrag();
ama nesnenin ismi ile ulaşman çok önemli degil se 3. yöntem daha basit
evt.target.startDrag();
kolaygelsin..<<
Soru: Dinamik oluşturulan Spritelarda startDrag sorunu.
merhaba soruyu cevaplarken kaynagına yöneltmek istemistim nitekim öle oldu
ilk 2 örnek String veriden objeye erişmemizi saglıyor yani bir for döngüsünden aldıgımız sıralı numaraları "mc_"+i gibi String birleştirip objelere erişmemizi saglar
3. örnek ise objenin mutlak yolunu kullanarak erişiyor
konu ile alakalı örnek kullanımlar aşagıdaki link de acıklanmış http://enginyoyen.com/blog/tr/index.php/actionscript-3-ve-display-list/
kolaygelsin..<<
Soru: as3 dinamic class import
biraz daha açıcak olursam
proje nin tüm sayfalarında kullanacagım class ları
import controllers.*;
şeklinde projeme dahil ettim
trace( anasayfa ) //[class anasayfa] şeklinde ulasabiliyorum
ama adres satırından aldıgım bilgi ile"http://www.example.com/classname/functionname" ile class larımı kullanmak istiyorum
:S:S:S:S
Soru: as3 dinamic class import
ne yaptım ettim her yolu denedim çalıştıramadım sabahtan belli bu sorunla urasıyorum ekteki dosyaya bir bakarmısın lütfen bugun bunu çalıstırmam lazım :S
çoook tesekkürler kolaygelsin..<<
Soru: as3 dinamic class import
merhaba
layout.fla dosyası içinde hiçbirsey yok sadece document Class olarak layout.as tanımlanmıs okadar
abc class ‘ını layout a dahil etmek istiyorum bunun için libraryden iliskilendirmem gerekirmi kafam karıstı ice
Soru: as3 dinamic class import
yarını beklemesek :S
dediklerizi anladım verdiginiz link de bir örnek download ettim getDefinitionByName kullan mak için library deki MovieClip’e kullanacakları class ı linkage den baglamıslar
ancak benim durumum birazdaha farklı olabilirlik bakımından olurgibi görünüyor ama neden olmuyor anlamadım
şimdi çalışmama bir gurup class ekliyorum
import class_larim.*;
ve class larımı bir String den faydalanarak kullanmak istiyorum
var seçilen_class:Class = Class(getDefinitionByName("class_name"+no));
neticede class ları sayfanın basın da yükledim bunun çalısması gerek
bu mantık la MovieCliplere ulasabiliyoduk class lara neden olmasın diye düşünmüyor degilim olaması gerekmezmi böle birseyin :S
Soru: as3 dinamic class import
söyledigin yöntemi hemen deniyim ancak çok garip birsey oldu ve flash dan da as3 den de nefret etmeye basladım
class ları ekledim layout.as dosyama
import pages_controller.*;
import abc;
constructor içinde bu sekilde kullandım süper çalıstı
trace( abc );
trace( e );
trace( f );
trace( g );
var __abc:MovieClip = getAsset("abc");
var __e:MovieClip = getAsset("pages_controller.e");
var __f:MovieClip = getAsset("pages_controller.f");
var __g:MovieClip = getAsset("pages_controller.g");
trace kodlarını kadırdım hata verdi :S:S:S:S trace tekrar ekledim çalıstır kaldırdım gene hata inanamıyorum güleyimmi ağlayayımmı
Delete Aso Files felan denedim nafile napcaz simdi :S:S:S
Soru: as3 dinamic class import
o nasıl bise biraz daha açabilirmisin
Soru: as3 dinamic class import
Logger/Firebug çok iyi ve kullanılslıymıs. yenişeyler örenmek güzel teşekkürler.
Soru: AS3 ile PHP yi bağlamanın En kolay yolu (PHPEvent)
merhaba
kodlara kabaca baktım php sınımıfı MovieClip den miras almıssın ? flash.events.EventDispatcher den miras alman daha iyi olurdu sanırım
olay dinleyicini php sınıfın da tutmussun bence event sınıfında olması daha iyi olurdu
eğer web uygulaması geliştiriyorsan amfphp kullanmanı öneririm.
kolaygelsin..<<
Soru: AS3 import
evet dediginiz gibi
bir test yaptım aynı swf içinde farklı seviye ve frameler de aynı class ı defalarca import ettim degismedi
çok tesekkürler.
Soru: AS3 import
merhaba ali
flash develop a biraz bakındım ama pek kullanmıyorum flash IDE daha hosuma gidiyor bir flash proje olusturup çalısıyorum.
import u sürekli kullanıyorum ama tam olarak çalısma seklini yeni örendim :S:S
player içinde heryerden ulasa bilecegim ve editleye bilecegim GLOBAL sınıfı sonunda olusturabildim
package config
{
public class config
{
public static var data:Object = {};
}
}
ilginiz için çok tesekkürler.
kolaygelsin..<<
Soru: 3dmax export .dae
merhaba
arastırma yaparken bu uygulamayı gördüm ama papervision2 ye uyduramadım :S
çok tesekkürler.
kolaygelsin..<<
Soru: AS3 import
merhaba ali
Singleton kelimesi çok isime yaradı sihirli cümle buymus çok tesekkürler.
Soru: AS3 import
evet ordaki örnege bakmıstım daha önceden
as3 diger dillere de benziyor örnegin C# den hiç anlamam ama kodlara baktıgım da aynı mantıgı as3 e uyarlaya biliyorum sihirli cümle o bakımdan çok isime yarıyor diger diller de makale ve dataylı açıklama oldukca var
tekrar tesekkürler.
Soru: İki kodu birleştirecek biri?
merhaba
kodları okumadım ama basitce mantıgı anlatmak için bir örnek hazırladım
var data:Array = [
{name:"resim1" ,url:"resim1.jpg"},
{name:"resim2" ,url:"resim2.jpg"},
{name:"resim3" ,url:"resim3.jpg"},
{name:"resim4" ,url:"resim4.jpg"},
{name:"resim5" ,url:"resim5.jpg"},
{name:"resim6" ,url:"resim6.jpg"},
{name:"resim7" ,url:"resim7.jpg"},
{name:"resim8" ,url:"resim8.jpg"},
{name:"resim9" ,url:"resim9.jpg"},
{name:"resim10" ,url:"resim10.jpg"},
{name:"resim11" ,url:"resim11.jpg"}
]
var sayfadaki_birim_adeti:uint = 3;
function urun_listele( index:uint ):void{
if( index > Math.ceil(data.length /sayfadaki_birim_adeti) ){
index = Math.ceil(data.length /sayfadaki_birim_adeti);
}
trace("\n\n\ndata dizisinden | "+index*sayfadaki_birim_adeti+"'den "+(index+3)+"'e kadar listeledim");
var baslangic:uint = (index*sayfadaki_birim_adeti)
for( var i:uint = baslangic; i<baslangic+sayfadaki_birim_adeti; i++ ){
if( i < data.length){
trace( "name: "+data[i].name+"\t\t"+"url: "+data[i].url )
}
}
}
trace( "toplam:"+Math.ceil(data.length /sayfadaki_birim_adeti)+" sayfa kayıt var" )
trace( "urun_listele function una sayfa sayısını parametre olarak gönder" )
urun_listele( 2 );
birkere yaparsan hep yaparsın
kolaygelsin..<<
Soru: Geçen zaman göstergesi.
merhaba
baslangıc tarihini çarpma işlemini kullanarak mili saniye cinsine çevir
ve suanki zamanın milisaniye bilgisinden çıkar
trace( new Date().getTime() )
bölece baslangıc tarihinden suanki zaman arasında geçen mili saniyeyi elde et
sonra milisaniye bilgini bölme işlemleri ile tarih formatına çevir.
şeklinde bir yöntem işini görecektir.
kolaygelsin..<<
Soru: Geçen zaman göstergesi.
merhaba
sana yardımcı olacak bir örnek hazırladım dosyanın açık kaldıgı zamanı hesaplıyor saat:dakika:saniye:mili saniye şeklinde kodları düzenleyerek sonuca ulasabilirsin.
var old_date:Date = new Date();
var new_date:Date = new Date();
var fark:Date = new Date();
stage.addEventListener( MouseEvent.MOUSE_DOWN , function(){
trace("baslangıc_zaman: "+ old_date.getHours() +":"+old_date.getMinutes()+":"+old_date.getSeconds()+":"+old_date.getMilliseconds() )
new_date = new Date();
trace("simdiki_zaman: "+ new_date.getHours() +":"+new_date.getMinutes()+":"+new_date.getSeconds()+":"+new_date.getMilliseconds() )
fark.setMilliseconds( new_date.getMilliseconds()-old_date.getMilliseconds() );
fark.setSeconds( new_date.getSeconds()-old_date.getSeconds() );
fark.setMinutes( new_date.getMinutes()-old_date.getMinutes() );
fark.setHours( new_date.getHours()-old_date.getHours() );
trace("fark: "+ fark.getHours() +":"+fark.getMinutes()+":"+fark.getSeconds()+":"+fark.getMilliseconds() )
trace("\n\n")
})
stage.dispatchEvent( new Event(MouseEvent.MOUSE_DOWN) )
kolaygelsin..<<
Soru: as3 drop down menu yapımı
nerde oldugunuzu bilmek isterseniz
var displayPath:Array = []
stage.addEventListener( MouseEvent.MOUSE_MOVE , moveHandler)
function moveHandler( e:MouseEvent):void{
yaz( e.target )
}
function yaz( target:Object ){
if( target != null ){
displayPath.push( target.name );
yaz( target.parent)
}else{
displayPath.pop();
displayPath.reverse()
txt.text = String(displayPath)
displayPath = [];
}
}
kolaygelsin..<<
Soru: AS3 de konulan kutulara göre değer artırmak
merhaba
sanırım drag drop seklinde bir alısveris sepedi yapmayı düsünüyosun. asagıda oop yaklasımlı bir örnek hazırladım.
herhangi bir obje sürükleniyormu. sürükleniyor sa hangi obje srükleniyor bilmem için controll tanımladım
// drag kontrolleri
var drag_Active:Boolean = false;
var drag_olan_obje:*;
sahnedeki objeyi sürüklemek ve yukarıdaki kontrol degiskenlerine bildirmek için
// objeyi sürükelyelim ve controllere bildirelim
function objeDrag( e:MouseEvent):void{
drag_Active = true;
drag_olan_obje = e.target;
e.target.startDrag();
}
// objenin süreklenmesi bitti sürüklenme dursun ve kontrollere bildirelim
function objeDrop( e:MouseEvent = null):void{
drag_olan_obje.stopDrag();
drag_Active = false;
}
// objenin Event halleri
function obje_setup_handler( target:MovieClip , detay:Object ):void{
target.buttonMode = true;
target.mouseEnabled = true;
target.addEventListener( MouseEvent.MOUSE_DOWN , objeDrag );
target.addEventListener( MouseEvent.MOUSE_UP , objeDrop );
target.detay = detay;
}
obje_setup_handler(misket,{name:"misket",kg:1});
obje_setup_handler(tshirt,{name:"tshirt",kg:3});
obje_setup_handler(pantolon,{name:"pantolon",kg:5});

merhaba
Veli Süngütay freelance çalıstıgım için tasarım ve kodlama sürecini yanlız gerçekleştiriyorum
MVC modeline ve CodeIgniter’e imrenip ihtiyaç analizi yaptıgım da
Model üretmek de sıkıntım yok AMFPHP ile sadece model e odaklanarak kodlama imkanı buluyorum Dreamviewr de kodlayıp testlerimi AMFPHP nin basit bir Flex arayuzu var orada test ediyorum
View de şu asagıda ki agaç modeli ile parçaladıgım da odaklanma problemini aşmış oldum
bu agaç yapısına göre her sayfa , modul , layout , uretim aşamasın da kullandıkları metaryelleri kendi yanın da bulundurdukların (modul>header>img de olcak) da kafam karısmıyor view katmanını da bu sekilde çıkardık her aşama ya ayrı ayrı adaklana bilme umudu ile
Controller model ve viev i layout kısmında buluşturuyorum Controller yapısı page_Load() pageLoadcomplate() page_unLoad() pageunloadcomplate() belki atraksiyonlu geçişlere imkan tanıyan daha esnek biryapı olabilir en basiti bu
layOut da manual olarak yada Projenin durumuna göre dinamik olarak pages ve modules leri alıyorum ve Controller ile gerektigi zaman ekrana getiriorum ve AMFPHP ile modullere sadece gerekli datayı set etmek istiyorum
bu şekilde Model View Controller i farklı kişiler yada farklı zamanda farklı dugular da aynı kişi rahat kodlaya bilecek yada ŞAHSİ SORUNUM odaklana bilicek
Code Igniter ile bu çatıyı oluşturdum html php çalışırken çok haz alıyorum bir bölümle urasırken diger bölümü düşünmüyorum
aynı mantık flash içinde uyguladım gibi ama layout aşamasına kullanmak üzere modules aşamasın da oluşan kısmın sadece Compiled i lazım ken library de birsütü MovieClip bitmap ların ın beni cıldırmasını istemiyorum.
çatı ihtiyacım için olusturdugum analizim bu sekilde farklı bir IDE yada Haxe beraberin de arge sürecide getiricek buda uygun zaman === bütce demek şuan imkansız
yani bitmiş projeye 3 ay sonra baktıgım da proje çatısı işin detaylarını bana vermeli tek bir fla da bogus madan yada fla içinde modul kodları aramak la urasmamalıyım vs..
ve tekrar kullanıla bilirlilik maxsimum olmalı aynı uygulamayı her iste yapmak yoruyor artık istedigim modulun animasyonu ve görüntüsü degiştrip rekrar kullana bilmeliyim
offf of
kolaygelsin..<<