{"id":2816,"date":"2024-09-12T20:28:11","date_gmt":"2024-09-12T17:28:11","guid":{"rendered":"https:\/\/www.mikrobotik.com\/wp2\/?p=2816"},"modified":"2024-09-12T20:28:11","modified_gmt":"2024-09-12T17:28:11","slug":"app-inventor-ve-animasyon","status":"publish","type":"post","link":"https:\/\/www.mikrobotik.com\/wp2\/2024\/09\/12\/app-inventor-ve-animasyon\/","title":{"rendered":"APP INVENTOR VE AN\u0130MASYON"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>Bu yaz\u0131mda APP INVENTOR kullanarak bir uygulama yapt\u0131m. APP INVENTOR ile uygulama yaparken genelde dura\u011fan TEXTBOX ya da LABEL gibi ara\u00e7lar\u0131 kullan\u0131r\u0131z.<\/p>\n<p>Yapt\u0131\u011f\u0131m\u0131z uygulamalarda biraz resim, biraz renk kullanarak g\u00f6rsel zenginlik sa\u011flamaya \u00e7al\u0131\u015f\u0131r\u0131z.<br \/>\nFakat Animasyon yapacak ara\u00e7 bulamay\u0131z. Bu fikirle yola \u00e7\u0131k\u0131nca animasyon yap\u0131labildi\u011fini g\u00f6stermeye \u00e7al\u0131\u015ft\u0131m.<\/p>\n<p>Bu animasyonun mant\u0131\u011f\u0131, gelen S\u0131cakl\u0131k de\u011ferlerini bir BAR g\u00f6sterim olarak hareketlendirdim. Bir de GRAF\u0130K ortamda OLED ekranlar\u0131 gibi bir hareketli derece kab\u0131 ile g\u00f6sterdim.<\/p>\n<p>Her iki \u015fekilde de kolayl\u0131kla yapabilece\u011finiz bir animasyon \u015fekli. Sadece gerekli hesaplamalar\u0131 kendinize uyarlaman\u0131z gerekir.<br \/>\nBu hesaplamalar kolayd\u0131r.\u00a0 Bu hesaplar\u0131n amac\u0131, de\u011fi\u015fen ekran boyutlar\u0131na uydurmakt\u0131r. Bunun i\u00e7in 0-50 derecelik bir s\u0131cakl\u0131k i\u00e7in kulland\u0131\u011f\u0131m\u0131z TEXTBOX geni\u015fli\u011fe g\u00f6re ayarlan\u0131r.<\/p>\n<p>\u00d6nce telefon ekran\u0131ndan bahsedelim. Dikey oldu\u011funda geni\u015flik 300, y\u00fckseklik 600 oldu\u011funu varsayal\u0131m. Bu bar g\u00f6sterim i\u00e7in ekran\u0131n %80 nini i\u015faretleyelim. Yani bar sa\u011fa do\u011fru sona gitmesin %80 geni\u015fli\u011fe kadar gitsin.<\/p>\n<p>Ekran\u0131 \u00e7evirdi\u011fimizde Y\u00dcKSEKL\u0130K de\u011feri, GEN\u0130\u015eL\u0130K de\u011feri olur ve Geni\u015flik de\u011feri de y\u00fckseklik de\u011feri olur. Bunu \u00f6ncelikle alg\u0131lamam\u0131z laz\u0131m.<br \/>\nBurada devreye SCREEN1 ORIENTATION blok girer. Bu d\u00f6n\u00fc\u015f\u00fc hissetti\u011finde i\u00e7indeki i\u015flemleri yapar. Biz de buraya bir de\u011fi\u015fken koyar\u0131z ve bu de\u011fi\u015fken dikey=0 yatay=1 olacak \u015fekilde bize verir. Tabii ki d\u00f6nd\u00fc\u011f\u00fcnde GEN\u0130\u015eL\u0130K VE Y\u00dcKSEKL\u0130K yer de\u011fi\u015ftirir. Biz de yeni WIDTH ve HEIGHT de\u011ferlerini de\u011fi\u015fkene aktar\u0131r\u0131z. Bir de yeni WIDTH de\u011ferinin %80 ni bir de\u011fi\u015fkene aktar\u0131l\u0131r. Art\u0131k yeni hesaplamada bu kullan\u0131lacakt\u0131r.<\/p>\n<p>300ms de bir \u00e7al\u0131\u015fan CLOCK blo\u011fu bulunmaktad\u0131r. Bu blok hem grafik ekrandaki \u00e7izimi yap\u0131yor, hem de yeni WIDTH durumuna g\u00f6re de\u011fi\u015fken ayar\u0131n\u0131 yap\u0131yor. Sonras\u0131nda ise BUTON1 ve BUTON2 yi \u00e7al\u0131\u015ft\u0131rarak ekrandaki BAR k\u0131sm\u0131n\u0131n hareketini sa\u011fl\u0131yor.<br \/>\nBiz butonlara bas\u0131nca da hesap i\u015flemleri yap\u0131larak ekrandaki BAR hareketi sa\u011flan\u0131yor.<br \/>\nCLOCK ate\u015fleme zaman\u0131 300ms geldi\u011finde, Grafik ekrandaki hareket de tamamlan\u0131yor.<br \/>\nProgram\u0131n zaten grafik k\u0131sm\u0131n\u0131 videoda anlatt\u0131m. Sizler istedi\u011finiz gibi geli\u015ftirebilirsiniz.<\/p>\n<p>Bunun yan\u0131s\u0131ra AN\u0130HESAP diye bir blok var. Bu blok sadece grafik ekrandaki derece hareketi i\u00e7in hesaplama yap\u0131yor.<br \/>\nBu hesaplamada TEXT9BOX kullan\u0131l\u0131yor. Fakat bu kutu ekranda g\u00f6r\u00fcnm\u00fcyor. NON VISIBLE yap\u0131ld\u0131. Arka planda \u00e7al\u0131\u015f\u0131yor. Bunun g\u00f6revi grafik ekran\u0131n i\u00e7indeki karakterleri tutmak. Bu karakterler b\u00fcy\u00fck I ya da k\u00fc\u00e7\u00fck L harfinden olu\u015fabilir. S\u0131cakl\u0131k 10 derecede 5 karakter diyelim.<br \/>\nHesaplamada s\u0131cakl\u0131k 20 dereceye \u00e7\u0131kt\u0131\u011f\u0131nda 10 karakter yaz\u0131lmal\u0131. Bunun i\u00e7in \u00f6nce TEXT9 da ka\u00e7 karakter var diye bak\u0131yoruz. ( LENGTH komutuyla) sonras\u0131nda bize gereken ka\u00e7 karakter bunu s\u0131cakl\u0131k de\u011ferine g\u00f6re hesapl\u0131yoruz. Sonras\u0131nda ise bunu birbirinden \u00e7\u0131kar\u0131yoruz. aradaki fark kadar TEXT 9 kutusuna karakter yazmam\u0131z gerekiyor.<br \/>\nBunu JOIN komutuyla TEXT9 kutusuna ekliyoruz. Ya da azalma varsa \u00e7\u0131kar\u0131yoruz. Buna g\u00f6re TEXT9 kutusu son halini al\u0131yor. Sonras\u0131nda CLOCK ate\u015fleme zaman\u0131 geliyor ve son de\u011feri GRAF\u0130K ekrana yaz\u0131yor.<br \/>\nVideoda grafik ekranda s\u0131cakl\u0131k de\u011ferini yazd\u0131rd\u0131m devaml\u0131 de\u011fi\u015fiyor. fakat sadece ayn\u0131 yerde yaz\u0131yor. Sizler isterseniz yeni bir hesaplamayla bu yaz\u0131n\u0131n koordinat\u0131n\u0131 de\u011fi\u015ftirerek son de\u011fer \u00e7izgisinin yan\u0131na getirebilirsiniz. Bu da hem de\u011fer \u00e7izgisini de\u011fi\u015ftirecek hem de de\u011ferin yerini de\u011fi\u015ftirerek animasyonunuza bir hava katacakt\u0131r.<\/p>\n<p>Bu animasyonlar\u0131 sadece s\u0131cakl\u0131k olarak de\u011fil ba\u015fka ama\u00e7larla da kullanabilirsiniz. Hatta yeni animasyonlar da elde edebilirseniz buraya eklerseniz biz de \u00f6\u011frenmi\u015f oluruz.<\/p>\n<p><strong><span style=\"color: #ff0000;\">T\u00fcm kaynak dosyalar\u0131na<\/span> <a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/tree\/main\/APP_INVENTOR\/Animasyon\" target=\"_blank\" rel=\"noopener\">buradan ula\u015fabilirsiniz.<\/a><\/strong><\/p>\n<p><span style=\"color: #ff0000;\">Video:<\/span><\/p>\n<p><iframe title=\"TEXTBOX TEMP ANIMASYON\" data-src=\"https:\/\/www.youtube.com\/embed\/vpgW8HbUXc0\" width=\"694\" height=\"374\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" data-load-mode=\"1\"><\/iframe><br \/>\n&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Bu yaz\u0131mda APP INVENTOR kullanarak bir uygulama yapt\u0131m. APP INVENTOR ile uygulama yaparken genelde dura\u011fan TEXTBOX ya da LABEL gibi ara\u00e7lar\u0131 kullan\u0131r\u0131z. Yapt\u0131\u011f\u0131m\u0131z uygulamalarda biraz resim, biraz renk kullanarak&#8230; <\/p>\n","protected":false},"author":1,"featured_media":2818,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[],"class_list":["post-2816","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mit-app-inventor-2"],"_links":{"self":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/2816","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/comments?post=2816"}],"version-history":[{"count":3,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/2816\/revisions"}],"predecessor-version":[{"id":2821,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/2816\/revisions\/2821"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/media\/2818"}],"wp:attachment":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/media?parent=2816"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/categories?post=2816"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/tags?post=2816"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}