HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2026
0127
レトロ好きpalette命令で色が全く関係のない色に変わってしまいます2解決


レトロ好き

リンク

2026/1/27(Tue) 14:36:17|NO.104669

; 1. 初期化(パレットモードを指定するため、screen 0 の第4引数は無し)
; 本来はフルカラー環境ですが、あえてパレットモードを意識して書きます
screen 0, 640, 480
cls 4 ; 黒でクリア

; 2. 仮想画面(buffer 1)に画像を読み込む。(256色ビットマップ形式)
buffer 1, 640, 480, 1
picload "256色.bmp"

; 3. パレット命令を並べる(仮想画面 1 に対して適用)
gsel 1
palette 28, 0, 255, 0, 0 ; 体
palette 21, 255, 0, 0, 0 ; 口
palette 255, 255, 255, 255, 1 ; 更新フラグを1にして反映

; 4. 【重要】書き換えたパレットを使って表画面に再描画
gsel 0
pos 0, 0
gcopy 1, 0, 0, 640, 480

redraw 1
stop


実際には緑や赤ではなく、全然違う色が表示されてしまいます。
palette命令の使い方が間違っているのか、それともbufferからgcopyする際に
パレット情報が壊れてしまうのでしょうか?

どなたかアドバイスをいただけると助かります。よろしくお願いします。



この記事に返信する


gt

リンク

2026/1/27(Tue) 15:26:02|NO.104670

最初にパレットを設定してからpicloadしないと現在のパレットの中から適当な近い色が割り当てられてしまいます。
bmppaletteというパレットを設定する命令があるみたいなのでそれを使えばいいと思います。



レトロ好き

リンク

2026/1/27(Tue) 21:57:23|NO.104676

gt様

アドバイスいただきありがとうございます!

教えていただいた bmppalette 命令と hsp3util.as のインクルードを試したところ、
意図した通りのパレットで正確に描画することができました。

picload で色が勝手に近似値に変換されてしまい悩んでいたのですが、
先にパレットを固定するという手順で完璧に解決しました。
おかげさまで、こだわっていたドット絵の階調をそのまま再現できそうです。

的確な助言をいただき、本当にありがとうございました。



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.104669への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2025(c) All rights reserved.