Soru - Cevap Bölümü
/ Kategori: Programlama
08/01/2005 - 07:28:55 cevap (2) Okunma : 4845 Bu yazıyı 0 kişi tuttu.
Aynı alanda iki aynı veya ayrı MC olmasın!!
Selamlar
Bu sorunumu başka bir forumda da dile getirmiş fakat aydınlatıcı bir cevap alamamıştım. Umarım sizlerin bir yardımı olur.
Ön Açıklama
Online yani kullanıcının isteklerine bağlı olarak PVC çizimi yapan ve bu çizimi fiyatlandırıp tablo halinde bütün kullanılan malzemeleri gösteren bir çalışma yaptım. Çizim kısmında hiçbir problem yok, hatta çok çok güzel.(çizim API leri kullanılıyor)
Çizimin bir aşamasında kullanıcı pencere üzerindeki boşluğa veya boşluklardan birine istediği bir pencere türünü ekliyor. Bu ekleme işini Mouse sınıfa ait listener lar yardımıyla yaptırıyorum. olay izleyicisinde if..else if.. komutları kullanarak koşullar belirliyorum ve Mouse hangi boşluğa tıklarsa oraya çizim yapılıyor (MC olarak tabiiki).
Her boşluğa sadece bir adet pencere türü (yani MC) eklenmesi gerekiyor mantık olarak. MC eklendiğinde MC nin genişlik ve yükseklik değerlerini bir fonksiyona gönderiyorum ve o fonksiyonda gerekli hesaplamaları yaparak sonucu kullanılacak malzeme değişkenine ekliyor. Böylece fiyat tablosunda o değişkeni kullanarak kullanıcıya gerekli bilgi gösteriliyor.
Şimdi sorun şu; eğer kullanıcı aynı boşluğa tıklarsa hiçbir pencere türü (aslında buna kanat deniliyor) eklenmesin yani aynı boşluğa başka bir MC çizilmesin. Kodlar çok uzun ve tek tek hittest olayı ile çözülecek gibi değil.
Düşündüğüm bir teori var; kullanıcı bir kanat eklediğinde kanadın bulunduğu boşluk artık "dolu" gibi bir değere sahip olsun. Ve if..else bloklarında da bu "dolu" veya "boş" durumunu kontrol ettireyim.
Bu nasıl olabilir, farklı çözüm öneriniz olabilirmi? Yardımlarınızı bekliyorum.
DiPNOT Boşluk diye adlandırdığım, pencerenin genel kasası üzerindeki kesişim noktaları (4 adet oluyor) arasında kalan bölge. Kesişim noktaları önceden dizi değişken olarak tanımlanmış durumda.
Altta uygulamadan bir ekran görüntüsü var.
Cevaplar
( Faydalı Cevapları Göster )
MMIstanbul Adobe UG
ColdFusion, Flex, AIR, Flash, PDF, Dreamweaver, Fireworks, Photoshop, Illustrator, INdesign, Premiere, Soundbooth, Lightroom, InCopy, JRun, LiveCycle, Acrobat, AfteEffects, Resmi Adobe Kullanıcı Grubu.
Etkinlikler
Konferans
2. Ulusal Yazılım Mimarisi Konferansı - UYMK'08
2. Ulusal Yazılım Mimarisi Konferansı - UYMK'08
2.Ulusal Yazılım Mimarisi Konferansı (UYMK’08), 11 – 12 Eylül 2008 tarihlerinde Ege Üniversitesi Bilgisayar Mühendisliği Bölümü ev sah...
Kategori:
Konferans
Kimler Burada? 
Son 1 dakika içinde MMIstanbul' da 276 (5 kayıtlı, 271 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:
MMIstanbul Blog'undan
500 Hatası Hakkında!
merhaba arkadaşlar, bir önceki yazıda bahsettiğimiz üzere sunucunun ram ihtiyacını yavaş yavaş gidermeye başladık. An itibariyle 2 Giga d ...
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)
Ne Nedir Kampanyası Başlıyor!
Çok Merak Edenler için; MMIstanbul Geliştirme Ekibi ve Çalışma Ortamımız
MMIstanbul Online Seminerlerine Nasıl Katılabilirim?




bu pencerede ( atıyorum ) 8 tane cam kanabilecek alan olsun .
8 sayıyı tutan bir array açtıralım i:Number = [a,b…] gibi…
herbir değişken orda takılacak bir camı ifade etsin.kullanıcı bir camı takınca o camın array deki değeri 0 ken 1 olsun böylece kullanıcı o pencerenin üzerine tekrar tıklarsa değer 1 olarak görecek olan program if else yapısıyla camın daha önce takıldığını belirtsin…