M

12adet 8x8dotmatris saat yardım

Başlatan mast79, 14 Haziran 2013, 23:41:13

mast79

ete hocam iyi akşamlar,
farklı bir animasyon yapmak istiyorum. Bunun için fikirlerinize ihtiyacım var. Ekrana kayarak gelen bir yazıyı ekranda nasıl durdura bilirim. Bunun sistematiği hakkında bilgiler vere bilir misiniz? Teşekkür ederim. İyi çalışmalar

ete

Çok havada kalmış bir soru bu. Nasıl kayarak geldiği belli olmayan bir yazının durmasını tarif etmem gerçekten zor. Buna ancak kaydırmayı durudur yazıda ekranda durur şeklinde cevap verebilirim.

Ete

mast79

Haklısınız ete hocam havada kalan bir soru oldu. Programı gönderiyorum. Yazının kayarak gekdikten sonra durması için neler
yapılabileceğini söyleye bilir misiniz. ete hocam terminal virtual kısmına birkaç kez şu kodu yazın <11                abcdef>
enter yapın. Teşekkür ederim İyi çalışmalar...

ete

Programda bir kusur var. Tara etiketi altında yer alan bölgede Pause1 şeklinde komut satırları mevcut.
Bu satırlar vaktinde usart kesmesi oluşmasını engelliyor. O komut yerine GOSUB Delay yazacaksın ve programın en altına,
Delay:
FOR T=0 to 255
  Pauseus 1
  Pauseus 1
  Pauseus 1
  Pauseus 1
next
return
satırlarını ilave edeceksin.

Yazıyı ekranın ortasında durdurabilmek için  ;
Dev:  etiketi altında yer alan
   sy2=sy2+1
komut satırını
IF SY2<56 then sy2=sy2+1
şeklinde değiştireceksin. Durdurma yerini daha sola almak istersen 56 rakamı büyüyecek, daha sağa almak için küçülecektir.

Hyperterminalden verdiğin yazıyıda şöyle ver;
$AA$AA$00$00$FF$FF<11                abcdefg>
bu yazıyı aynen kopyalayıp Hyperterminale yapıştırırsan anında kesme oluştuğunu göreceksin zaten.

Ete



mast79

ete hocam dediklerinizi yapacağım. Teşekkür ederim. Yazıyı ekranda durdurmak için program üzerinde değişiklikler yaparken şuna ulaştım. Bu düzenlemeyi yapınca yazıyı ekranda durdurdum. Kod şöyle;
dev:
select case anim
       case 49               
       gosub bosalt     
                for sy1=0 to 95
                    dizi[sy1]=mem[sy1+sy2]
                next sy1
                sy2=sy2+1
                     if sy2=97 then
                        for sy1=0 to 95
                            dizi[sy1]=mem[sy1+96]
                            gosub tara
                        next sy1
                     endif
                     pauseus 100
       gosub tara
        if sy2=191 then sy2=0                       
       case else
       goto basla
end select
goto basla
Hocam bu kodda herhangi bir hata var mı?

mast79

Bir önce yazdığım mesajdaki kod şöyle çalışıyor hocam. Yazı ekrana kayarak gelip en solda biraz sabit kaldıktan sonra yine kayarak
ekrandan ayrılıyor. Dediğiniz değişiklikleri yaptım hocam. Yazı ekranın ortasında sabit kaldı. Bilgi ve deneyimlerinizi paylaştığınız için çok teşekkür ederim.

ete

#21
O kadar aldığınızı aynen uygulamaya alışmışsınız ki yazdıklarımada dikkat etmiyorsun. Ekranın neresinde durdurmak istersen rakamı artır yada azaltabilirsin demiştim.
"Durdurma yerini daha sola almak istersen 56 rakamı büyüyecek, daha sağa almak için küçülecektir."

Bende biliyorum ekranın ortasında durduğunu çünki mesajında nerede duracağını belirtmemişsin. Bende mantıklı olarak düşünüp ortasında durdurdum.
Orada IF S2<xxx komutunda xxx yerine 96 yazarsan gelir en solda durur yazı.
Hatta orada bir çok koda da gerek yok. AYnen şunları yaz;

dev:
select case anim
       case 49   'uzun metin kaydır           
                gosub anim1
                gosub tara
                IF SY2<96 then sy2=sy2+1                                       
       case else
       goto basla
end select
goto basla

aynı şeyi yapar program. Çünki kaydırmayı sağlayan s2 nin her seferinde değerinin bir artmasıdır. Artmayı durdurduğun anda yazı ekranda kalır.

Ete


mast79

#22
ete hocam,
uzun bir süredir animasyonların sayısını arttırmaya çalışıyordum. Nihayet yirminin üzerinde animasyon yaptım. Programda fazladan ya da gereksiz satırlar kullanmış olabilirim. Dosya içersinde programı gönderiyorum. Kayan yazıda animasyon yapmak isteyen arkadaşlar programda değişiklikler yaparak istediklerini gerçekleştirebilirler. Ete hocam yardımlarınız için teşekkür ederim...

Powered by EzPortal