VoiclessCry

Yeni üye
8 Şub 2021
135
2
0
(16) Bursa
Rnvanterin bp sini dragndrop ile hareket ettiriyorum ama mouse u tıklattığım yerden taşı diye komut verebiliyorum fakat bıraktığımda yani droplama işleminde mouse u bıraktığım yeri bp nin sol en üstü aldığı için düzgün konumalmıyor ona nasıl birşey yapabilirim? 
yani kısaca bana dragndrop operation daki pivot gibi bir işlem lazım on drop canceled da.

https://pasteboard.co/KbCSzPD.png

https://pasteboard.co/KbCSFhT.png
 
Mouse pozisyonunu kendin 200 çıkartarak bozuyorsun ve onunla drop işlemini yaptığın widget i kaydırıyorsun. Neden böyle bir şey yaptığını anlayamadım. Normalde pivotluk bir şey yok. Mouse un altındaki konum bütün uygulamalarda olduğu gibi algılanıyor. Ancak sen normalden farklı bir şey yağmaya çalışıyorsun sanırım.
1. Oradaki create widget sahiden inventory falan değil dimi. Oraya koyacağın sadece küçük bir resim okadar. Sen sürüklerken mouse un ucunda otomatik gözükecek. Tüm inventory 'yi oraya bağlamadın dimi.
2. Üstüne bastığın widget i collapse yapıyorsun. Bunun özel bir sebebi varmı.
3. En önemli parametre olan payload boş kalmış. Aslında sadece onu doldurman mantıklı diğer herşey boş kalabilir.
4. Bıraktığın yerde widget i kenara kaydırıyorsun.Sonra da onu açıyorsun.  Burasıda garip.
 
hocam yok onu iptal ettimde wb sistemini set position yaptığımızda sol en üstten alıyorya pozisyon ayarlamasını sorun o yani ben atıyorum envanteri envanter yazısının ortasından tuttum ama bıraktığımda set position işlevi gereği envanteri sol en üst pozisyondan alarak yapıyor şöyle ki 

https://pasteboard.co/KbDt6aF.jpg


bunu yapmasının nedeni orijini envanterin sol en üstüne göre alıyor ama ben anlık olarak orijini drag de ki gibi mouse down alsın istiyorum onu nasıl yapacağım ?
 
Hmm şimdi anladım ne yapmaya çalıştığını. Ancak bu tam olarak drag dropa çok uygun bir durum değil. Manüel yapsan daha kolay yaparsın. Ama drag drop lada olur tabi. Bunun için mouse ilk tıkladığında pencereye göre hangi koordinat ta olduğunu kaydedecek ve drop olduğunda aynı offset tekrar vereceksin. Bunu için önce mouse un widget a göre offset nasıl bulunur önce bunu halletmelisin. Sonra geriye aynı offseti bıraktığında vermek kalır. Offset bilgisini payload da taşıyabilirsin.
Ancak bunu drag drop olmadan daha kolay halledersin. Çünkü teknik olarak bir widget i başka widget a bırakmıyorsun. Widget yerini değiştiriryorsun. Bunu için mouse click 'te widget lokasyonunu alacak sonra tick fonksiyonda mouse offset kadar widgetı lokasyonunu değiştireceksin. Mouse release olduğunda zaten spn yer doğru olacağından birşey yapmana gerek yok