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


HSPTV!掲示板


未解決 解決 停止 削除要請

2023
0202
T.Sハートの描画について4解決


T.S

リンク

2023/2/2(Thu) 17:23:44|NO.99065

某RPGのようなハートマークを描画してみたくてやってみたのですが、これはハートマークに見えるでしょうか?

#include "a2d.hsp"
color 0,0,0 : boxf
arr=318,245, 337,245, 328,258
alCreateImage 0,640,480

alColor 255,0,0,255
alFillPoly arr, 3
alFillEllip 318,239,9,10
alFillEllip 328,239,9,10
alCopyImageToScreen 0,0
redraw

また、描画するのにもっとよい方法があったら教えていただきたいです。
よろしくお願いします。



この記事に返信する


wee

リンク

2023/2/2(Thu) 19:04:54|NO.99066

utf8でもいいなら

#include "hsp3utf.as color 255 font msgothic,100 ;標準エディタでハートマークを記入できないのでpokeを使う ;utf8に対応したエディタなら直接記入していい a="" poke a,0,0xe2 poke a,1,0x99 poke a,2,0xa5 poke a,3,0 pos 290,190 mes a

調べたらシフトJISにもハートがあるみたい
ただし外字領域なのでどの環境でも表示できるかは不明。

color 255 font msgothic,100 ;標準エディタでも記入できるけど掲示板が対応してないのでpokeを使う a="" poke a,0,0xf0 poke a,1,0xe6 poke a,3,0 pos 290,190 mes a



沢渡

リンク

2023/2/2(Thu) 19:24:14|NO.99067

ちょっとこの↓サイトを参考にやってみました。
https://yayoi-blog.info/16130.html

//参考:https://yayoi-blog.info/16130.html #include "a2d.hsp" color 0,0,0 : boxf w=24 //ハートマークの大きさ(このサイズの正方形におさまる大きさに) alCreateImage 0,w,w : alSelectImage 0 alColor 255,0,0,255 alFillEllip 0,0,w/2,w*10000/9571/2 alFillEllip w/2,0,w/2,w*10000/9571/2 w2=w*3/2 : h2=w2*10000/9571 alCreateImage 1,w2,h2 : alSelectImage 1 alColor 255,0,0,255 alFillEllip 0,0,w2,h2 alSelectImage 0 y=w*10000/9571/4 alCopyImageToImage 1,0, 0,y, w/2,w-y, 0,h2/2 alCopyImageToImage 1,0, w/2,y, w/2,w-y, w2-w/2,h2/2 alDeleteImage 1 //この時点で仮想イメージ0にw×wのハートマークが完成している alCopyImageToScreen 0,0, 100,100, w,w,0,0 //座標(100,100)に描画してみる redraw



沢渡

リンク

2023/2/4(Sat) 17:01:24|NO.99074

すみません、ちょっとだけ修正です。
リンク先で言う⑧の処理を行うのを忘れていたので、それを追加です。
(たぶんほんの僅かの違いしかないとは思いますが)

//参考:https://yayoi-blog.info/16130.html #include "a2d.hsp" color 0,0,0 : boxf w=24 //ハートマークの大きさ(このサイズの正方形におさまる大きさに) alCreateImage 0,w,w : alSelectImage 0 alColor 255,0,0,255 alFillEllip 0,0,w/2,w*10000/9571/2 alFillEllip w/2,0,w/2,w*10000/9571/2 w2=w*3/2 : h2=w2*10000/9571 alCreateImage 1,w2,h2 : alSelectImage 1 alColor 255,0,0,255 alFillEllip 0,0,w2,h2 alSelectImage 0 y=w*10000/9571/4 alCopyImageToImage 1,0, 0,y, w/2,w-y, 0,h2/2 alCopyImageToImage 1,0, w/2,y, w/2,w-y, w2-w/2,h2/2 //ハートの食い込んだ部分 w2=w*6872/10000 : h2=w2*10000/9571 alCreateImage 1,w2,h2 : alSelectImage 1 alColor 255,0,0,255 alFillEllip 0,0,w2,h2 alSelectImage 0 alcolor 0,0,0,0 alFillRect w/4,0,w*5/6-w/12-w/4,h/3 alCopyImageToImage 1,0, w/4,0, w2/2-w/12,h/3, w2/2+w/12,h2/2-h/3 alCopyImageToImage 1,0, w*5/6-w2/2,0, w2/2-w/12,h/3, 0,h2/2-h/3 alDeleteImage 1 //この時点で仮想イメージ0にw×wのハートマークが完成している alCopyImageToScreen 0,0, 100,100, w,w,0,0 //座標(100,100)に描画してみる redraw



T.S

リンク

2023/2/7(Tue) 16:42:07|NO.99083

weeさん、沢渡さんありがとうございました。
参考にさせていただきます。



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