health

[tahir][bigposts]

vehicles

[tahir][bigposts]

business

[tahir][bigposts]

Game Maker Dosya açma ve içinden veri alma dersi

Dosyalar
Oyunlarda harici dosyaları kullanmak yararlıdır. Örneğin, belirli şeylerin neler olabileceğini anlatan bir dosya oluşturabilirsiniz. Ayrıca muhtemelen oyun bir sonraki seferde (örneğin, geçerli oda) bilgi kaydetmek isteyebilirsiniz. Metin dosyalarında veri okumak ve yazmak için aşağıdaki işlevler vardır:

file_text_open_read (fname) Dosyayı okumak için gösterilen adıyla açar. İşlev, diğer işlevlerde kullanılması gereken dosyanın kimliğini döndürür. Aynı anda birden fazla dosya açabilirsiniz (32 maks). Onları bitirdikten sonra onları kapatmayı unutma.
file_text_open_write (fname) Yazılmak üzere belirtilen dosyayı açar, eğer mevcut değilse oluşturur. İşlev, diğer işlevlerde kullanılması gereken dosyanın kimliğini döndürür.
file_text_open_append (fname) Sonunda veri eklemek için belirtilen dosyayı açar, eğer mevcut değilse oluşturur. İşlev, diğer işlevlerde kullanılması gereken dosyanın kimliğini döndürür.
file_text_close (dosyaid) Dosyayı belirtilen dosya kimliğiyle kapatır.
file_text_write_string (fileid, str) Dizeyi verilen dosya kimliğiyle dosyaya yazar.
file_text_write_real (dosyaid, x) Gerçek değeri verilen dosya kimliği ile dosyaya yazın. (Tam sayı ve ondalık kısım arasındaki ayırıcı olarak her zaman bir nokta kullanılır.
file_text_writeln (dosyaid) Dosyaya yeni satır karakteri yazar.
file_text_read_string (dosyaid) Verilen dosya kimliğine sahip dosyadan bir dize okur ve bu dizeyi döndürür. Bir dize satırın sonunda biter.
file_text_read_real (dosyaid) Dosyadan gerçek bir değer okur ve bu değeri döndürür.
file_text_readln (dosyaid) Çizginin kalanını dosyaya atlar ve bir sonraki satırın başına başlar.
file_text_eof (dosyaid) Dosyanın sonuna ulaşıp ulaşmadığımızı döndürür.
file_text_eoln (dosyaid) Dosyadaki bir satırın sonuna ulaşıp ulaşmadığımızı döndürür.

Dosya sistemindeki dosyaları değiştirmek için aşağıdaki işlevleri kullanabilirsiniz:


file_exists (fname) Belirtilen ada sahip dosyanın mevcut (true) olup olmadığını (false) döndürür.
file_delete (fname) Dosyayı belirtilen adla siler.
file_rename (eski ad, yeni isim) Dosyayı eski ad ile yeni isimle yeniden adlandırır.
file_copy (fname, newname) Dosya ismini newname ile kopyalar.
directory_exists (dname) Belirtilen dizinin var olup olmadığını döndürür. İsim, göreli bir yol değil, tam yolu içermelidir.
directory_create (dname) Varsa, belirtilen ada sahip bir dizin oluşturur (buna dahil olan yol). İsim, göreli bir yol değil, tam yolu içermelidir.
file_find_first (mask, attr) Maskeyi ve nitelikleri karşılayan ilk dosyanın adını döndürür. Böyle bir dosya yoksa boş dize döndürülür. Maske bir yol içerebilir ve joker karakterler içerebilir, örneğin 'C: \ temp \ *. Doc'. Nitelikleri görmek istediğiniz ek dosyaları verir. (Böylece, maskeyi karşıladıklarında normal dosyalar her zaman geri döner.) İstediğiniz dosya türlerini görmek için aşağıdaki sabitleri ekleyebilirsiniz:

fa_readonly salt okunur dosyalar
fa_hidden gizli dosyalar
fa_sysfile sistem dosyaları
fa_volumeid birim kimliği dosyaları
fa_directory dizinleri
fa_archive arşivlenmiş dosyalar

file_find_next () Önceden verilen maskeyi ve nitelikleri karşılayan sonraki dosyanın adını döndürür. Böyle bir dosya yoksa boş dize döndürülür.
file_find_close () Tüm dosyaları boş hafızaya taşıdıktan sonra çağrılmalıdır.
file_attributes (fname, attr) Dosyanın attr içinde verilen tüm özelliklere sahip olup olmadığını döndürür. Yukarıda belirtilen sabitlerin bir kombinasyonunu kullanın.

Dosya isimlerini değiştirmek için aşağıdaki işlevler kullanılabilir. Bu işlevlerin yalnızca dizelerle ilgilenen gerçek dosyalar üzerinde çalışmadığını unutmayın.


filename_name (fname) Belirtilen dosya adının ad bölümünü uzantıyla birlikte yolsuz olarak döndürür.
filename_path (fname) Son ters eğik çizgi de dahil olmak üzere, belirtilen dosya adının yol bölümünü döndürür.
filename_dir (fname) Belirtilen dosya adının dizin bölümünü döndürür, bu normal olarak son ters eğik çizgi dışındaki yolla aynıdır.
filename_drive (fname) Dosya adının sürücü bilgilerini döndürür.
filename_ext (fname) Baştaki nokta dahil olmak üzere, belirtilen dosya adının uzantı bölümünü döndürür.
filename_change_ext (fname, newext) Belirtilen dosya ismini, uzantı (nokta dahil) yeni uzantıya değiştirerek döndürür. Yeni uzantı olarak boş bir dize kullanarak uzantıyı kaldırabilirsiniz.

Nadir durumlarda, ikili dosyalardaki verileri okumanız gerekebilir. Aşağıdaki alt düzey rutinleri bunun için var:


file_bin_open (fname, mod) Dosyayı belirtilen adla açar. Mod, dosya ile neler yapılabileceğini gösterir: 0 = okuma, 1 = yazma, 2 = hem okuma hem yazma). Dosya mevcut olmadığında oluşturulur. İşlev, diğer işlevlerde kullanılması gereken dosyanın kimliğini döndürür. Aynı anda birden fazla dosya açabilirsiniz (32 maks). Onları bitirdikten sonra onları kapatmayı unutma.
yani, temizler ve start.file_bin_close (fileid) 'da yazmaya başlar. Dosyayı belirtilen dosyayla kapatır id.file_bin_size (dosyaid) Dosyanın boyutunu (bayt cinsinden) döndürür, verilen dosya ile id.file_bin_position (fileid) Dosyanın geçerli konumunu (byte cinsinden; 0, ilk konum) döndürür. id.file_bin_seek (fileid, pos) Dosyanın geçerli konumunu belirtilen konuma taşır. Bir dosyaya eklemek için konumu write.file_bin_write_byte (fileid, byte) öncesindeki dosyanın boyutuna taşıyın. Verilerin bir baytını dosyaya verilen dosyaya yazar. Id.file_bin_read_byte (fileid) Dosyadan bir bayt veri okur ve bunu döndürür. Eğer oyuncu tercihleri ​​doğrultusunda güvenli modu kontrol ettiyse, bu rutinler için bir yol belirlemenize izin verilmez ve sadece uygulama klasöründeki dosyalar yazılacak. Oyun yürütülebilir dosyaya dosyalar eklediyseniz ve bunları oyunun başında otomatik olarak dışa aktarmadıysanız, bunu yapmak için aşağıdaki işlevleri kullanabilirsiniz. export_include_file (fname) İçerdiği dosyayı fname adıyla dışa aktarır. Bu bir dize değişkeni olmalıdır, bu yüzden quotes.export_include_file_location'ı (fname, location) unutmayın. Verilen dosyayı verilen konuma fname ismiyle birlikte dışa aktarın. Konum yolunu içermeli ve filename.discard_include_file (fname) içermelidir. Dahil olan dosyayı fname ismiyle birlikte silmek ve kullanılan belleği boşaltmak. Bu bir dize değişkeni olmalı, bu yüzden tırnakları unutmayın. Aşağıdaki dört salt okunur değişkenler yararlı olabilir: game_id * Oyun için benzersiz bir tanımlayıcı. Benzersiz bir dosya adına ihtiyacınız varsa bunu kullanabilirsiniz. Name.working_directory * Oyun için çalışma dizini. (Son ters eğik çizgi dahil değil.) Program_directory * Oyun yürütülebilir dosyasının saklandığı dizin. (Son ters eğik çizgi dahil değildir.) Bağımsız bir oyun çalıştırdığınızda, bu normal olarak oyun dizini dışında çalışma dizini ile aynıdır. dosya seçiciyi kullanarak bir dosya açar. Bir oyunu test ederken, programı oluşturduğunuzu ve çalışma dizininin farklı olacağını unutmayın. Bu durumda, çalışma dizini düzenlenebilir sürümün saklandığı yerdir. Program dizini test.temp_directory için geçici bir dizin ise. * Oyun için oluşturulan geçici dizin. (Son ters eğik çizgi dahil değil.) Geçici dosyaları burada saklayabilirsiniz. Oyunun sonunda kaldırılacaklar. Bazı durumlarda oyunculara, çalıştıkları oyuna komut satırı argümanları sağlama imkanı verebilirsiniz (örneğin hileleri veya özel modları oluşturmak için). Bu argümanları almak için aşağıdaki iki rutini kullanabilirsiniz. parameter_count () Komut satırı parametrelerinin sayısını döndürür. Gerçek parametreler, aşağıdaki işlevle alınabilir.parameter_string (n) Komut satırı parametrelerini döndürür n. İlk parametre 1 dizinine sahiptir. Sonuncusu index_count () dizinine sahiptir. Dizin 0 özel bir tanesidir. Bu, oyun yürütülebilir dosyasının (yol dahil) dosya adıdır. Aşağıdaki işlevi kullanarak ortam değişkenlerinin değerini okuyabilirsiniz: environment_get_variable (name) Ortam değişkenin değerini (bir dize) verilen adla döndürür. Son olarak, diskin ve boş alanın boyutuyla ilgileniyorsanız, aşağıdaki işlevleri kullanabilirsiniz: disk_size (drive) Belirtilen sürücünün boyutunu bayt cinsinden döndürür. sürücü bir büyük harf olmalı, ör. 'C'. Sürücüyü sağlamadıysanız, geçerli çalışan dizinin sürücüsü kullanılır.disk_free (sürücü) Belirtilen sürücüdeki boş alan miktarını bayt olarak döndürür. sürücü bir büyük harf olmalı, ör. 'C'. Sürücüyü sağlamadıysanız, geçerli çalışan dizinin sürücüsü kullanılır.

No comments:

Post a Comment