Tämä ei todellakaan ole kovin hyvä tai täydellinen vastaus, mutta type kasvaa dynaamisesti toisin kuin taulukko eli typeen ei tarvitse määritellä sen kokoa vaan se kasvaa ja pienenee aina automaattisesti. Taulukosta voit taas poimia arvon jostain tietystä kohtaa ilman että joudut iteroimaan sitä läpi.koodi wrote:...
Tyhmät kysymykset (II/2009)
Re: Tyhmät kysymykset (II/2009)
Re: Tyhmät kysymykset (II/2009)
Code: Select all
Not enough disc space. Delete windows?
- kaneli2000
- Guru
- Posts: 1059
- Joined: Mon Mar 17, 2008 2:40 pm
- Location: Lempäälä
Re: Tyhmät kysymykset (II/2009)
Esimerkiksi jos kuvassa on 100 pikseliä leveyssuunnassa ja yrität lukea vahingossa 120, tuo tulee vastaan. Siis yrität lukea pikseleitä kuvan ulkopuolelta.Dewe wrote:Tarttisin apua, kun ohjelma ilmoittaa " Not enough frames in bitmap" (tiedän mitä se tarkoittaa ) kun yritin saada peliini ukon juoksemaan piirtämällä oman bittikartan. Esimerkkinä käytin zerorunia mediasta.
Tämä käy joskus, kun yhdessä framessa on liian vähän pikseleitä.
Re: Tyhmät kysymykset (II/2009)
Re: Tyhmät kysymykset (II/2009)
Code: Select all
BoxWidth as Float = 50
BoxHeight as Integer = 10
CurrentHealth As Float = 100
MaxHealth As Float = 100
x = 2
y = 2
M = -1
Repeat
CurrentHealth = CurrentHealth + m
If CurrentHealth = 0 or currentHealth = MaxHealth then m = -m
Color cbRed
Box x, y, BoxWidth, BoxHeight
Color cbGreen
Box x, y, BoxWidth * (CurrentHealth / MaxHealth), BoxHeight
DrawScreen
Forever
Mitäs kaneli pätee? : D
- kaneli2000
- Guru
- Posts: 1059
- Joined: Mon Mar 17, 2008 2:40 pm
- Location: Lempäälä
Re: Tyhmät kysymykset (II/2009)
Vaiko:DatsuniG wrote:Code: Select all
Color cbRed Box x, y, BoxWidth Color cbGreen Box x, y, BoxWidth * (CurrentHealth / MaxHealth)
Code: Select all
Color cbRed
Box x, y, BoxWidth#, 20
Color cbGreen
Box x, y, BoxWidth# * (CurrentHealth# / MaxHealth#), 20
EDIT: Eikä tämä systeemi edes toimi, ellei CurrentHealth, BoxWidth ja MaxHealth ole desimaalilukuja. Muokkasin.
Re: Tyhmät kysymykset (II/2009)
Code: Select all
Not enough disc space. Delete windows?
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: Tyhmät kysymykset (II/2009)
Code: Select all
LoadAnimObject("Files\Guy_1 P90.bmp", 80, 67, 0, 1)
Re: Tyhmät kysymykset (II/2009)
Eli siis miten saan vaikka ympyrän piirrettyä tyhjälle taustalle niin, että se pysyy siinä( kunnes toisin määrätään)?
Re: Tyhmät kysymykset (II/2009)
Koodi wrote: Eli siis miten saan vaikka ympyrän piirrettyä tyhjälle taustalle niin, että se pysyy siinä( kunnes toisin määrätään)?
Code: Select all
BoxExists = 1
Repeat
If BoxExists Then Box 5, 5, 5, 5, 1
BoxExists = Rand (0,1)
DrawScreen
Forever
Re: Tyhmät kysymykset (II/2009)
Tässä kaksi eri tapaa piirtää näytölle pysyvää kuvaa. Ensimmäisessä tapauksessa piirretään ympyrät erilliseen kuvaan, eli näytöllä oikeastaan on vain yksi kuva. Toisessa tapauksessa luodaan muistiin uusien ympyröiden koordinaatit ja jokainen ympyrä piirretään joka kierroksella uudestaan. Sanomattakin selvää että jälkimmäinen tapa on paljon raskaampi, mutta siinä on hyötynä esim. se, että ympyröitä voi myöhemmin täsmällisesti poistaa.Koodi wrote:Moi taas! Tänään yritin tehdä ohjelmaa, joka piirtää pisteen/laatikon/neliön tms. siihen paikkaan, mistä kohtaa painetaan. Ongelmaksi tuli se, että ne laatikot jää kiinni kursoriin. Haulla löysin kuinka kuvan päälle voi tehdä reiän yms. mutta yritin soveltaa koodipätkää, mutta se ei toiminut.
Eli siis miten saan vaikka ympyrän piirrettyä tyhjälle taustalle niin, että se pysyy siinä( kunnes toisin määrätään)?
Code: Select all
tausta = MakeImage( ScreenWidth(), ScreenHeight() )
Repeat
DrawImage tausta, 0, 0
If MouseDown( 1 ) Then
DrawToImage tausta
Color cbWhite
Circle MouseX() - 5, MouseY() - 5, 10
DrawToScreen
EndIf
DrawScreen
Forever
Circle MouseX() - 5, MouseY() - 5, 10 -> Circle MouseX() - 5, -MouseY() + 5, 10
eli y-koordinaatti vastakkaiseksi.
Tämä tapa on huono tässä tarkoituksessa, koska fps tippuu erittäin nopeasti.
Code: Select all
Type ympyrät
Field x
Field y
EndType
Repeat
If MouseDown( 1 ) Then
ny.ympyrät = New( ympyrät )
ny\x = MouseX() - 5
ny\y = MouseY() - 5
EndIf
For iy.ympyrät = Each ympyrät
Circle iy\x, iy\y, 10
Next iy
DrawScreen
Forever
-
- Advanced Member
- Posts: 308
- Joined: Tue Nov 25, 2008 8:06 pm
- Contact:
Re: Tyhmät kysymykset (II/2009)
Code: Select all
//Luodaan kuva
img = MakeImage( ScreenWidth(), ScreenHeight() )
//Aloitetaan pääsilmukka
Repeat
//Jos ppainetaan hiirtä...
If MouseHit (1) Then
//Asetetaak piirto kuvaan
DrawToImage img
//Piirretään laatikko
Box MouseX(), MouseY(), 10, 10
//Piirto takaisin ruudulle
DrawToScreen
//Lopetetaan If-lause
EndIf
//Piirretään kuva
DrawImage img, 0, 0
//Piirretään ruutu
DrawScreen
//Lopetetaan pääsilmukka
Forever
Tulipa oltua hidas oikein rankasti...
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: Tyhmät kysymykset (II/2009)
I know not what I know, but I do know that it's not beautiful.
Re: Tyhmät kysymykset (II/2009)
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: Tyhmät kysymykset (II/2009)
Esimerkki olisi paikallaan.phons wrote:Siis haluatko vaihtaa formaattia CB:llä vai ihan itse? Ihan itse niin kirjoittaa nimen perään vaan uuden formaatin... CB:llä... yksi mahdollisuus on että ensin kopioit koko filen sisällön sitten teet uuden ja nimeät sen samalla tavalla mutta eri formaatilla ja kopioit tiedot uuteen filuun...
I know not what I know, but I do know that it's not beautiful.
- kaneli2000
- Guru
- Posts: 1059
- Joined: Mon Mar 17, 2008 2:40 pm
- Location: Lempäälä
Re: Tyhmät kysymykset (II/2009)
skorpioni-cb wrote:Esimerkki olisi paikallaan.phons wrote:Siis haluatko vaihtaa formaattia CB:llä vai ihan itse? Ihan itse niin kirjoittaa nimen perään vaan uuden formaatin... CB:llä... yksi mahdollisuus on että ensin kopioit koko filen sisällön sitten teet uuden ja nimeät sen samalla tavalla mutta eri formaatilla ja kopioit tiedot uuteen filuun...
Code: Select all
filu = OpenToWrite("lollero.mof") //mof = [m]inun [o]ma [f]ormaatti
Re: Tyhmät kysymykset (II/2009)
Otahan huomioon, että esimerkiksi png-formaattiin tallennettu kuva ei ole levyllä sama kuin sama kuva bmp-formaatissa. Myöskään esim .doc päätteen vaihtaminen .docx:ksi ei muuta tiedostoa docx-formaattiin.kaneli2000 wrote:skorpioni-cb wrote:Esimerkki olisi paikallaan.phons wrote:Siis haluatko vaihtaa formaattia CB:llä vai ihan itse? Ihan itse niin kirjoittaa nimen perään vaan uuden formaatin... CB:llä... yksi mahdollisuus on että ensin kopioit koko filen sisällön sitten teet uuden ja nimeät sen samalla tavalla mutta eri formaatilla ja kopioit tiedot uuteen filuun...Code: Select all
filu = OpenToWrite("lollero.mof") //mof = [m]inun [o]ma [f]ormaatti
Mutta jos sen sijaan tahdot vain vaihtaa raakatekstiä sisältävien tiedostojen tunnistetta niin silloin tuo toimii (esim. .cb -> .txt).
Niin ja vielä selvennyksenä: Kukaan ei voi antaa koodia joka konvertoi tiedoston formaatista toiseen tietämättä mistä ja mihin. Jos tahdot muuttaa kuva-formaatteja, suosittelen että pakkaat ohjelman mukaan esim ImageMagick:in ja käytät sitä kuvien muokkaamiseen. Cb-itsessään ei tosin pysty monitoroimaan, että milloin kuva on muutettu tai tuleeko prosessissa virheitä.
Kehittäjä
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: Tyhmät kysymykset (II/2009)
Haluaisin muuttaa mvk->aviTheFish wrote:Otahan huomioon, että esimerkiksi png-formaattiin tallennettu kuva ei ole levyllä sama kuin sama kuva bmp-formaatissa. Myöskään esim .doc päätteen vaihtaminen .docx:ksi ei muuta tiedostoa docx-formaattiin.Code: Select all
filu = OpenToWrite("lollero.mof") //mof = [m]inun [o]ma [f]ormaatti
Mutta jos sen sijaan tahdot vain vaihtaa raakatekstiä sisältävien tiedostojen tunnistetta niin silloin tuo toimii (esim. .cb -> .txt).
EDIT:Niin ja vielä selvennyksenä: Kukaan ei voi antaa koodia joka konvertoi tiedoston formaatista toiseen tietämättä mistä ja mihin. Jos tahdot muuttaa kuva-formaatteja, suosittelen että pakkaat ohjelman mukaan esim ImageMagick:in ja käytät sitä kuvien muokkaamiseen. Cb-itsessään ei tosin pysty monitoroimaan, että milloin kuva on muutettu tai tuleeko prosessissa virheitä.
I know not what I know, but I do know that it's not beautiful.
Re: Tyhmät kysymykset (II/2009)
Googlella löytyi esim. tämmöinen ohje. En tosin näe mitään syytä käyttää cb:tä videon konvertoimiseen. Testaa mieluummin vaikka SUPER:ia siihen (ellei sinulla sitten ole jotain oikeaa syytä konvertoida video keskellä ohjelmaa).skorpioni-cb wrote:Haluaisin muuttaa mvk->avi
Kehittäjä
- Zero
- Lead Developer
- Posts: 727
- Joined: Sun Aug 26, 2007 2:30 pm
- Location: Helsinki, Finland
- Contact:
Re: Tyhmät kysymykset (II/2009)
Tyhmät kysymykset (I/2010)
*LUKKO*
Johtava Suunnittelija
CoolBasic V3, CoolBasic Classic
http://www.coolbasic.com/blog