HyperCardスタックの容量を減らそう

世の中ADSLが流行っていますが、僕はアナログモデムなのです。ダウンロードに時間がかかるのはいやなのです。そこで、スタックの容量を減らす方法を解説しようと思います。

バックグラウンドを活用しよう

同じようなカードをたくさん並べる場合、カードをコピー&ペーストして大量生産してはいけません。容量が無駄になることも理由ですが、スクリプトやボタンの位置などを変更したい場合に全てのカードに対して同じ変更をしなければならなくなります。バックグラウンドを使えば、一度の変更で対応できてエレガントです。バックグラウンドの活用の仕方でHyperCardの習熟度を判断できるといっても過言ではないでしょう。

ピクチャによるアニメーションは出来るだけ避けよう

アイコン程度の小さなキャラクターを動かすのに、何枚もカードを作って少しずつキャラクターをずらすなんて、容量を増やすための嫌がらせとしか思えません。カードは一枚で、アイコンをボタンに貼り付けて動かしましょう。キャラクターがアイコンより大きい場合は、PICTボタンを使うと良いです。視覚効果(visual effect)もうまく活用しましょう。

どうしても、ピクチャでないと表せないような表現は背景をバックグラウンドに描いて、カードによって異なる部分だけをカードピクチャにします。

カードピクチャは透明にしよう

カードピクチャを描いたカードを表示してみてください。そして、ペイント系のツール(たとえばブラシ)を選んで、optionキーを押しながらアルファベットの「O」を押してみてください。カードピクチャが消えて、真っ白になったり、影のようなものが表示されます。これは一体なんでしょう?

これは、カードピクチャの不透明な部分を表示しているのです。不透明な部分は、バックグラウンドのピクチャやボタンなどを隠す効果があります。だけど、たいていの場合隠す必要はありませんよね?この不透明部分を示すデータは無駄ってことになります。消しちゃいましょう。ピクチャを全て選択して、ペイントメニューの「透明」を実行します。

カードピクチャの透明化を自動で行うスタックを作ってみました。▼ダウンロード

スタック整理をしよう

スタックが完成したら、動作確認をした後、アップロードする前の時点でスタック整理をしましょう。ファイルメニューから「スタック整理」を選びます。高速化のために2回やっておくと良いです。

PICTは圧縮するか、色数を落とそう

PICTをリソースとして持つ場合でも、ファイルの場合でもフルカラーのPICTはJPEG化して圧縮することができます。(圧縮するためのツールが▼UDIさんのページにあります)JPEG化したPICTはQuickTimeが入っていれば見られます。256色以下のイラストの場合、PICTを扱うアプリケーションで色数を落としたり、いろいろなPICTを扱えるアプリケーションを試して、出来るだけ容量が少なくなるようにしてみてください。

▲研究室の入り口へ