Untuk menghormati hari Star Wars , tulis sebuah program untuk menampilkan teks berikut, gulir seperti perayapan pembukaan Star Wars :
It is a period of civil war. Rebel
spaceships, striking from a hidden
base, have won their first victory
against the evil Galactic Empire.
During the battle, Rebel spies managed
to steal secret plans to the Empire's
ultimate weapon, the Death Star, an
armored space station with enough
power to destroy an entire planet.
Pursued by the Empire's sinister agents,
Princess Leia races home aboard her
starship, custodian of the stolen plans
that can save her people and restore
freedom to the galaxy...
Anda dapat menampilkan GIF animasi atau membuat program Anda menampilkannya. Output harus menunjukkan yang berikut:
- Teks harus dimulai dari bagian bawah gambar / tampilan
- Itu harus menggulir ke atas hingga mencapai bagian atas. Setidaknya perlu beberapa
30
detik agar selembar teks mencapai bagian atas. Animasi harus berlanjut sampai semua teks mencapai puncak. - Dalam jarak ini, teks harus menjadi lebih kecil hingga kurang dari
1/3
ukuran (panjang dan font) - Teks harus miring untuk mengikuti sudut ini.
- Teks harus dibenarkan kiri dan kanan. Teks yang diberikan sudah dibenarkan untuk font monospace, namun, Anda dapat menghapus spasi tambahan (bukan baris baru) dan membenarkannya sendiri.
- Teksnya harus kuning
- Latar belakang harus hitam
Video ini menunjukkan merangkak pembukaan.
Semoga beruntung, dan Semoga yang keempat bersama Anda !
Jawaban:
HTML, 762
Jenis berombak (baca: sangat berombak: P).
Inilah JSFiddle (dengan
-webkit-
awalan vendor ditambahkan sehingga berfungsi di Chrome).sumber
HTML / CSS, 1047
Saya bisa bermain golf ini lebih banyak dengan menghapus
-webkit
awalan dll, tetapi ini akan lakukan untuk saat ini:Demo langsung
sumber
HTML + CSS + SVG
16141625Saya ingin benar secara visual juga. SVG digunakan untuk masking dan animasi. HTML + CSS digunakan untuk transformasi. Saya tidak memeriksa apakah teksnya berukuran tepat 1/3.
Disarankan melihat di Chrome karena
-webkit-
awalan. Membutuhkan transformasi 3D CSS untuk bekerja; Anda mungkin perlu membukachrome://flags
dan memilih 'Override software rendering list'.Termasuk dalam bytecount adalah baris baru dan kosong.
Pembaruan 1: Menambahkan dukungan untuk Firefox dan peramban lain yang tidak memerlukan awalan. Menambahkan 11 byte bahkan setelah pembersihan lebih lanjut. Pembersihan dimungkinkan karena browser untungnya menafsirkan SVG menggunakan parser pengurai HTML yang bertentangan dengan parser kompilasi-XML.
Hidup
sumber
PerlMagick, 661 program + 547 file teks = 1208
Terlambat untuk ulang tahun, tetapi OP mengatakan 'animasi GIF', jadi ...
TL; DR: tautan ke GIF animasi (5 Mb, 480 * 240, 1360 bingkai) (ada awal yang salah setiap kali saya mencoba tautan ini sekarang - tidak ada dalam file, mungkin coba unduh dulu. Dan beberapa berkedip sedikit ... mungkin saya akan jelaskan nanti, - bukan sepotong kue, seluruh ide IM dan GIF;)).
Dengan baris baru dan lekukan agar mudah dibaca:
Bunyinya teks dari STDIN, tetapi geometri adalah kode-keras, jadi mungkin teks lain tidak akan menjadi ide yang baik. Bisa jadi lebih pendek, tetapi saya menambahkan fading ke teks saat sampai ke atas, dan, bergerak naik dengan satu piksel menghasilkan animasi berombak, jadi saya melakukan interpolasi. Ini memakan 2,2 Gb RAM dan membutuhkan 2-3 menit pada desktop 8 tahun (dan mungkin tidak akan bekerja untuk orang Windows), jadi inilah cara untuk mendapatkan GIF: ganti (atau tambahkan) baris terakhir (buat 200+ File Mb):
Dan kemudian jalankan
Pertukaran antara kualitas (ukuran palet dll.) Dan ukuran akhir GIF sudah jelas. Memanggil
$i->Remap
dari PerlMagick secara langsung tidak berfungsi, mungkin ada bug, butuh berjam-jam lamanya (saya pikir) mencoba+remap
terlebih dahulu. Sebenarnya, ukuran GIF yang masuk akal (hanya sedikit lebih besar) dapat dicapai tanpa palet global tetapi menggunakan$i->Quantize
yang mengurangi setiap bingkai palet lokal ke ukuran yang diperlukan. Oh, dan tanpa optimasi palet yaitu menyimpan GIF dari skrip di atas 'apa adanya' menghasilkan sekitar 9 Mb file GIF.sumber