|
|
2007/11/24(Sat) 15:38:34|NO.12566
どっと絵ソフトを作りたいんですが、
「拡大」についてがわかりません。たとえば、
50*50サイズの絵を拡大して、200*200のサイズにして、
絵を描くことができる
ということです。 教えてください
|
|
2007/11/24(Sat) 17:29:06|NO.12567
サンプルです。希望道理のものかはわかりませんが...
Screen 0,200,20;操作用
ObjSize 200,20
Button GoSub "拡大/縮小",*Zoom
Buffer 3,200,200;一時的に画像を保存
Screen 2,400,400;お絵かき用
Width 200,200;最初のサイズ
*Draw;描画(適当ですが.)
Gsel 2
Stick Key,256
If Key&256 {
If Mode=0 : MX=MouseX : MY=MouseY ;通常時
If Mode=1 : MX=MouseX/2 : MY=MouseY/2 ;拡大時
Gsel 3
Line MX,MY,MX2,MY2;マウスにあわせて線を引く
Gsel 2
Redraw 0
Color 255,255,255 : BoxF : Color 0,0,0
Pos 0,0
If Mode=0 : GCopy 3,0,0,200,200 ;通常時
If Mode=1 : GZoom 400,400,3,0,0,200,200,0 ;拡大時
Redraw 1
If Mode=0 : MX2=MouseX : MY2=MouseY ;通常時
If Mode=1 : MX2=MouseX/2 : MY2=MouseY/2 ;拡大時
}
Wait 1
GoTo *Draw
*Zoom
If Mode=0 {;拡大
Mode=1
Gsel 2,1
Pos 0,0
GZoom 400,400,2,0,0,200,200,0
Width 400,400
} Else {;縮小
Mode=0
Gsel 2,1
Pos 0,0
GZoom 200,200,2,0,0,400,400,0
Width 200,200
}
Return
これから塾なので汚くなってしまいました(テヘ)
|
|
2007/11/25(Sun) 03:19:02|NO.12573
|
|
2007/11/25(Sun) 11:01:37|NO.12579
ご返事ありがとうございます!
でも、そのことより重要なことがありました(;;)
とりあえず自分の作ったスクリプトを
載せておきます。
*start
title "つくーるどっと"
screen 0,300,300
xsize=200
ysize=200
objsize 30,25
pos 0,100
button "new",*new
pos 0,125
button "pen",*pen
pos 0,150
button "color",*zcolor
pos 0,175
button "bak",*bak
pos 270,100
button "load",*load
pos 270,125
button "save",*save
pos 270,150
button "var",*var
pos 270,175
button "end",*owari
color 100,100,100 : boxf
color 255,255,255 : boxf 29,29,271,271
*main
if (mousex>=30 and mousex<=270)and(mousey>=30 and mousey<=270) : oncmd gosub *ekaki, $201
wait 1
goto *main
*ekaki
if (mousex>=30 and mousex<=270)and(mousey>=30 and mousey<=270) : oncmd gosub *nobasi,$200
if (mousex>=30 and mousex<=270)and(mousey>=30 and mousey<=270) : color red,green,bleu : boxf mousex,mousey,mousex+1,mousey+1
return
*nobasi
if (wparam=1)and(mousex>=30 and mousex<=270)and(mousey>=30 and mousey<=270) : color red,green,bleu : boxf mousex,mousey,mousex+1,mousey+1
return
*new
color 100,100,100 : boxf
color 255,255,255 : boxf 29,29,271,271
goto *main
*zcolor
dialog "a",33,"a"
red=ginfo_r
green=ginfo_g
bleu=ginfo_b
goto *main
*load
*save
*pen
*bak
*var
dialog "つくーるどっと\n\n\n製作者:||さん\n\nvar,1.0"
goto *main
*owari
dialog "本当に終わっていいんですね?\n保存していないものとかない?",2,"終わり"
if stat=6 : end
goto *main
このような感じでまだ完成はしてないのですが、
もう一つ新たな質問を加えたいと思います。
マウスで絵を描く時、しっかりとした線になりません。
line でやってみたのですが、なかなかうまく
できないのです。
どうすればいいでしょうか?教えてくださいー!
長文失礼しました。
| |
|
2007/11/25(Sun) 11:06:05|NO.12580
*main
stick key,256
if key=256 : line mousex,mousey,mx,my
mx=mousex : my=mousey
await 1
goto *main
これじゃだめですか?
|
|
2007/11/26(Mon) 00:54:27|NO.12603
*main
mx=mousex: my=mousey
okey=key: stick key,256,1
if (mx>=30 and mx<=270)and(my>=30 and my<=270) { if key==256 {
if (omx!=mx || omy!=my) {
if okey==key {
color red,green,bleu
line omx,omy,mx,my
line omx+1,omy,mx+1,my
line omx,omy+1,mx,my+1
line omx+1,omy+1,mx+1,my+1
}
omx=mx: omy=my
}
} }
wait 1
goto *main
|
|
2007/11/26(Mon) 18:50:09|NO.12613
ありがとうございます!あとは自分で何とかします。
|
|
2007/11/26(Mon) 18:50:42|NO.12614
したぜ
|
|
2007/11/26(Mon) 18:50:47|NO.12615
したぜ
|
|