Kameran zoomaus?
- Koodari Urhea
- Newcomer
- Posts: 8
- Joined: Mon Oct 28, 2013 4:29 pm
- Location: Oulu
Kameran zoomaus?
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.
Koodari Urhea (ei ehkä ihan niin urhea)
Re: Kameran zoomaus?
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?
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
- aloittelijamies
- Newcomer
- Posts: 45
- Joined: Fri Nov 18, 2011 9:55 pm
Re: Kameran zoomaus?
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.
Tuossa on esimerkki, jota itse olen hyödyntänyt Routis pelissäni.
Suosittelen, vaikka se on melko raskas heikommille koneille.