17 Kasım 2008 Pazartesi

Silverlight ile Zıplayan Top Animasyonu




Merhaba. Silverlight (2.0) ile zıplayan bir top animasyonu yapacağız.
1. Blend (2.0)'de yeni bir silverlight 2.0 proejsi oluşturun.
2. Layout üzerine bir top (elipse) ekleyin. Sonra bu elipse'i bir canvas içine alın.
3. İlk hızı girebilmek için bir textbox ve buton, hareket sırasında ekrana bilgi verebilmek için gerekli textblock'ları ekleyin. Ben textbox'lara "txt", textblock'lara da "tbl" ön ekini veriyorum. Şart değil, ama iyi olur.
4. Kod yazacağız, btnZiplat butonunun click eventini açın (VS2008'de). Aşağıdaki kodları

Partial Public Class Page
Inherits UserControl
' BURAYA YAZIN
End Class
--------------------------------------------------------------------------------
Private Timer As Windows.Threading.DispatcherTimer
Private AnlikHiz, Yukseklik As Double
Private G_Sabiti As Double = 9.8
Private VY0 As Double
Private TimeElapsed As TimeSpan


Public Sub New()
' Required to initialize variables
InitializeComponent()
AnlikHiz = 0.0
Yukseklik = 0.0
VY0 = 0.0
Yukseklik = Me.Top.GetValue(Canvas.TopProperty)
Timer = New Windows.Threading.DispatcherTimer
Timer.Interval = New TimeSpan(0, 0, 0, 0, 20) ' 20 mili saniye
AddHandler Tier.Tick, AddressOf TimerTick
End Sub




Private Sub btnZiplat_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
Me.Top.SetValue(Canvas.TopProperty, 328.0)
Timer.Stop()
TimeElapsed = New TimeSpan(0, 0, 0, 0)
VY0 = CDbl(Me.txtilkhiz.Text)
AnlikHiz = 0.0
Timer.Start()
End Sub




Sub TimerTick(ByVal sender As Object, ByVal e As EventArgs)
Dim NewTopValue, DisplacementValue, Vy As Double
TimeElapsed += Timer.Interval
DisplacementValue = VY0 * TimeElapsed.TotalMilliseconds / 1000
DisplacementValue -= 1 / 2 * G_Sabiti * (TimeElapsed.TotalMilliseconds / 1000 * TimeElapsed.TotalMilliseconds / 1000)
DisplacementValue *= 1.0
Vy = VY0 - G_Sabiti * TimeElapsed.TotalSeconds
NewTopValue = Yukseklik - DisplacementValue * 10
Me.tblHareketBilgileri.Text = "Ykseklik (m)=" & String.Format("{0:00.00}", DisplacementValue) & _
Environment.NewLine & "Dey Hz (m/s)=" & String.Format("{0:00.00}", Vy)
If NewTopValue > Yukseklik Then
Me.Top.SetValue(Canvas.TopProperty, Yukseklik)
VY0 *= 0.6
If VY0 <>

Timer.Stop()

Me.tblHareketBilgileri.Text = "Ykseklik (m)= 0.00" & _ Environment.NewLine & "Dey Hz (m/s)=0.00"
Else
TimeElapsed = New TimeSpan(0, 0, 0, 0)
End If
Else
Me.Top.SetValue(Canvas.TopProperty, NewTopValue)
End If
End Sub
Tamamdır.
5. Çalıştırın. ilk hızı verdikten sonra belli bir yüksekliğe çıkacak, sonra geri düşecek ve yerdn tekrar zıplayacak. Her zıplamada biraz hız kaybedecek ve belirli bir limit hıza düşünce, sıplama duracaktır. Yükseklik ve düşey hız fizik formulüne göre hesaplanmıştır, doğrudur.


7 Kasım 2008 Cuma

Büyük Boyutlu Dosya Transferi

Büyük dosyaları email ile göndermek çoğu zaman zordur veya olanaksızdır.
Bu durumda ücretsiz hizmet veren dosya gönderme servislerini kullanabilirsiniz.
En basiti http://www.filesavr.com/ adresinde var olan servis. Üyelik yok, reklam yok. Limit 10 Gb.
İlk gelen ekranda File:........ (Upload) kutusunuz dosyanızı seçerek yükleyin. Dosyanız sunucuya yüklenecek. Sonra, ekranda "Download" linki belirecek. Bu sırada tarayıcınızın adres satırında yazan adres artık o dosyanın adresi. Başka insanlara o adresi verin, onlar indirsin.

Ne zaman kadar sunucuda kalıyor? Download edildiği sürece hep kalıyor. Ama kimse download etmezse ne zaman silineceğini belirtmemişler.

4 Kasım 2008 Salı

Silverlight 2.0 nasıl yazılır?

1. Bir yerlerden Visual Studio 2008 progrmaı bulunur ve kurulur. Büyük bir programdır, bir saatiniz alır. Kurulum sırasında Full kurulumu seçin. 4 GB'ı da gözden çıkarın. C: (Sistem partion'ına) kurun.

2. Google'da "VS2008 SP1 Download" yazıp aratın. Bu Visual Studio 2008 için Service Pack 1'i kurmak için gerekli. Arama sonuçlarından ya Microsoftun sayfasına gideceksiniz ve oradaki mesajları takip ederek kuracaksınız, ya da SP1 paketini kendiniz indirip kurmak için başka yerele gideceksiniz. (Mesela http://download.microsoft.com/download/a/3/7/a371b6d1-fc5e-44f7-914c-cb452b4043a9/VS2008SP1ENUX1512962.iso) Bu 830 Mb'lik bir dosyadır. Windows update sitelerinden bu işi yapmaya kalkarsanız klasik download işlemi başlayacaktır ve bu süre 7 - 10 saat sürecektir. Ancak yukarıda verdiğim adresi FlashGet tarzı bir programla açarsanız 1 saate download oluyor. Download bitince kurun.
(Not: Eğer zaten vs2008'iniz kurulu ise, SP1'i kurmadan önce Silverlight Tools For Visual Studio vb. paketileriniz kaldırın)

3. Şimdi Silverlight 2.0î indirin ve kurun. 4 Mb'dir.

4. Ardından Silverlight 2.0 Toos for VS2008'in son halini indirin ve kurun. 74 mb'dir.

5. Son olarak eğer Expression Blend de kullanmak istiyorsunuz (ki bence isteyin) Expression Blend 2.0'ı kurun, sonra da Blend 2.0 için SP1'i microsofttan indirip kurun. O da çok değil.

Bu indirme işlemlerini Sabah saatlerinde (10'a kadar) yaparsanız hız gayet iyi. Ancak o saatten sonra download hızları düşüyor. FlashGet gibi bir program bu işlemi baya hızlandırıyor.

Sabırlı olur. Sakin olun.