Page 1 of 1
Kameran zoomaus?
Posted: Tue Nov 17, 2015 4:07 pm
by Koodari Urhea
Teen sivustakuvattua tasoloikkaa ja mietin, että voinko saada kameran zoomaamaan lähemmäs hahmoa, jotta en joudu suurentamaan kaikkia objekteja + tilemappia. Itse en ainakaan manusta tai foorumilta löytänyt tietoa asiasta.
Re: Kameran zoomaus?
Posted: Wed Nov 18, 2015 1:27 pm
by MrMonday
Coolbasicissa ei valitettavasti ainakaan itsessään ole moista ominaisuutta, enkä muista nähneeni muidenkaan tekemänä, joten täytyy itse askarrella omat viritykset moisen toteuttamiseksi.
Re: Kameran zoomaus?
Posted: Wed Nov 18, 2015 10:43 pm
by CCE
Marcoderin
ScaleImagella on mahdollista tehdä aika nopea zoomaus.
Code: Select all
SCREEN 1152,864,32,0
Global gScaledImage
gScaledImage = MakeImage(1, 1)
img = LoadImage("media/car.bmp")
Repeat
DrawImage ScaleImage(img, MouseX(), MouseY()), 0, 0
Text 0, 0, FPS()
DrawScreen
Forever
Function ScaleImage(_image, _width, _height)
//By: Marcoder
// Jos koko ei ole muuttunut niin ei tehdä mitään
If _width = ImageWidth(gScaledImage) And _height = ImageHeight(gScaledImage) Then Return gScaledImage
If _width <= 0 Or _height <= 0 Then Return gScaledImage
DeleteImage gScaledImage
gScaledImage = MakeImage(_width, _height)
// Tehdään temppikuva johon skaalataan ensin vain leveys
lTempImage = MakeImage(_width, ImageHeight(_image))
DrawToImage lTempImage
For x = 0 To _width - 1
sx# = Float(ImageWidth(_image)) / Float(_width) * Float(x)
DrawImageBox _image, x, 0, sx, 0, 1, ImageHeight(_image)
Next x
DrawToScreen
// Skaalataan myös pystysuunnassa
DrawToImage gScaledImage
For y = 0 To _height - 1
sy# = Float(ImageHeight(_image)) / Float(_height) * Float(y)
DrawImageBox lTempImage, 0, y, 0, sy, ImageWidth(lTempImage), 1
Next y
DrawToScreen
DeleteImage lTempImage
Return gScaledImage
End Function
Re: Kameran zoomaus?
Posted: Fri Dec 04, 2015 8:30 pm
by aloittelijamies
viewtopic.php?f=12&t=2308
Tuossa on esimerkki, jota itse olen hyödyntänyt Routis pelissäni.
Suosittelen, vaikka se on melko raskas heikommille koneille.