Tyhmät kysymykset (I/2010)
- Misthema
- Advanced Member
- Posts: 312
- Joined: Mon Aug 27, 2007 8:32 pm
- Location: Turku, Finland
- Contact:
Re: Tyhmät kysymykset (I/2010)
En löytänyt haulla tähän asiaan tuloksia, joten heitänpä sen tänne:
Eli miten on mahdollista saada kahdella peräkkäisellä SCREEN -komennolla 320x240 ruutu venytettyä 800x600 resoluution sisään ja kokoruutuun? Nyt en siis ole haluamassa 320x240 ikkunaa venytettynä "kokoruutuun" reunoineen kaikkineen, vaan samaan tapaan kun SCREEN -komennon kokoruututila.
Eli siis grafiikka olisi silti piirretty 320x240 ruudun sisään, mutta venytetty sitten 800x600 resoluution kokoruutuun.
Minua on tässä kerran neuvottu ja sainkin sen toimimaan, mutta en enää muista miten sen tein...
Eli miten on mahdollista saada kahdella peräkkäisellä SCREEN -komennolla 320x240 ruutu venytettyä 800x600 resoluution sisään ja kokoruutuun? Nyt en siis ole haluamassa 320x240 ikkunaa venytettynä "kokoruutuun" reunoineen kaikkineen, vaan samaan tapaan kun SCREEN -komennon kokoruututila.
Eli siis grafiikka olisi silti piirretty 320x240 ruudun sisään, mutta venytetty sitten 800x600 resoluution kokoruutuun.
Minua on tässä kerran neuvottu ja sainkin sen toimimaan, mutta en enää muista miten sen tein...
Re: Tyhmät kysymykset (I/2010)
Elikkä törmäsin ilmoitukseen "Code 88 Cant find missing next ja stuckture start block at line 90" kun laitoin toisenkin aseen eri näppäimelle. Voisko joku kertoa että mikä koodissani mahdollisesti on vikana vai puuttuuko siitä jotain tärkeää. Voi olla että ongelma oli tyhmä mutta en ny mikään ammattilainenkaan vielä ole.
Code: Select all
FrameLimit 80
SCREEN 800,600
ääniAmmu = LoadSound ("Files\Gun_fire1.wav")
ääniammu2 = LoadSound ("Files\Gun_fire2.wav")
kartta = LoadMap("--------testmap.til","Space.bmp")
PlayObject kartta,0,0,1
SetWindow "-------"
Dim AMMUS_ELOSSA(100)
Dim AMMUS_OBJ(100)
Alus=LoadObject("Files/Kopio_Raketti.bmp",300)
pati=LoadObject("Files/Ammus_1.bmp", 300)
pati2=LoadObject ("Files\Ammus_2.bmp", 300)
RotateObject Alus,90
PositionObject Alus,-150,100
ShowObject pati,OFF
ShowObject pati2,OFF
Color cbOrange
AddText "------------"
Repeat
If LeftKey() Then TurnObject Alus,5
If RightKey() Then TurnObject Alus,-5
If UpKey() Then MoveObject Alus,10
If ObjectX(Alus)<-3700 Then PositionObject Alus,-3700,ObjectY(Alus)
If ObjectX(Alus)>3700 Then PositionObject Alus,3700,ObjectY(Alus)
If ObjectY(Alus)<-3700 Then PositionObject Alus,ObjectX(Alus),-3700
If ObjectY(Alus)>3700 Then PositionObject Alus,ObjectX(Alus),3700
If KeyDown(cbKeyLControl) And reload=0 Then
PlaySound ääniAmmu,50
Gosub LisääAmmus
If KeyDown(cbKeyLAlt) And reload=0 Then
PlaySound ääniAmmu2,50
Gosub LisääAmmus
EndIf
If reload>0 Then reload=reload-1
Gosub PäivitäAmmukset
DrawGame
CloneCameraPosition Alus
DrawScreen
Repeat
Until EscapeKey()
End
'-----------------------------------------------
LisääAmmus:
For i=1 To 100
If AMMUS_ELOSSA(i)=OFF Then
AMMUS_ELOSSA(i)=ON
AMMUS_OBJ(i)=CloneObject(pati)
If AMMUS_ELOSSA(i)=OFF Then
AMMUS_ELOSSA(i)=ON
AMMUS_OBJ(i)=CloneObject(pati2)
CloneObjectPosition AMMUS_OBJ(i),Alus
CloneObjectOrientation AMMUS_OBJ(i),Alus
reload=4
Exit
EndIf
(Tässä on rivi 90) Next i
Return
'-----------------------------------------------
PäivitäAmmukset:
For i=1 To 100
If AMMUS_ELOSSA(i) Then
MoveObject AMMUS_OBJ(i),18
If ObjectX(AMMUS_OBJ(i))<-4000 Or ObjectX(AMMUS_OBJ(i))>4000 Or ObjectY(AMMUS_OBJ(i))<-4000 Or ObjectY(AMMUS_OBJ(i))>4000 Then
DeleteObject AMMUS_OBJ(i)
AMMUS_ELOSSA(i)=OFF
EndIf
EndIf
Next i
Return
Code: Select all
Not enough disc space. Delete windows?
-
- Advanced Member
- Posts: 485
- Joined: Tue Aug 28, 2007 3:53 pm
- Location: Suomi, Finland
- Contact:
Re: Tyhmät kysymykset (I/2010)
Dewe wrote:Elikkä törmäsin ilmoitukseen "Code 88 Cant find missing next ja stuckture start block at line 90" kun laitoin toisenkin aseen eri näppäimelle. Voisko joku kertoa että mikä koodissani mahdollisesti on vikana vai puuttuuko siitä jotain tärkeää. Voi olla että ongelma oli tyhmä mutta en ny mikään ammattilainenkaan vielä ole.
Code: Select all
koodia.
Code: Select all
FrameLimit 80
SCREEN 800,600
ääniAmmu = LoadSound ("Files\Gun_fire1.wav")
ääniammu2 = LoadSound ("Files\Gun_fire2.wav")
kartta = LoadMap("--------testmap.til","Space.bmp")
PlayObject kartta,0,0,1
SetWindow "-------"
Dim AMMUS_ELOSSA(100)
Dim AMMUS_OBJ(100)
Alus=LoadObject("Files/Kopio_Raketti.bmp",300)
pati=LoadObject("Files/Ammus_1.bmp", 300)
pati2=LoadObject ("Files\Ammus_2.bmp", 300)
RotateObject Alus,90
PositionObject Alus,-150,100
ShowObject pati,OFF
ShowObject pati2,OFF
Color cbOrange
AddText "------------"
Repeat
If LeftKey() Then TurnObject Alus,5
If RightKey() Then TurnObject Alus,-5
If UpKey() Then MoveObject Alus,10
If ObjectX(Alus)<-3700 Then PositionObject Alus,-3700,ObjectY(Alus)
If ObjectX(Alus)>3700 Then PositionObject Alus,3700,ObjectY(Alus)
If ObjectY(Alus)<-3700 Then PositionObject Alus,ObjectX(Alus),-3700
If ObjectY(Alus)>3700 Then PositionObject Alus,ObjectX(Alus),3700
If KeyDown(cbKeyLControl) And reload=0 Then
PlaySound ääniAmmu,50
Gosub LisääAmmus
EndIf
If KeyDown(cbKeyLAlt) And reload=0 Then
PlaySound ääniAmmu2,50
Gosub LisääAmmus
EndIf
If reload>0 Then reload=reload-1
Gosub PäivitäAmmukset
DrawGame
CloneCameraPosition Alus
DrawScreen
//Repeat ylimääränen repeatti?
Until EscapeKey()
End
'-----------------------------------------------
LisääAmmus:
For i=1 To 100
If AMMUS_ELOSSA(i)=OFF Then
AMMUS_ELOSSA(i)=ON
AMMUS_OBJ(i)=CloneObject(pati)
If AMMUS_ELOSSA(i)=OFF Then
AMMUS_ELOSSA(i)=ON
AMMUS_OBJ(i)=CloneObject(pati2)
CloneObjectPosition AMMUS_OBJ(i),Alus
CloneObjectOrientation AMMUS_OBJ(i),Alus
reload=4
Exit
EndIf
EndIf
Next i
Return
'-----------------------------------------------
PäivitäAmmukset:
For i=1 To 100
If AMMUS_ELOSSA(i) Then
MoveObject AMMUS_OBJ(i),18
If ObjectX(AMMUS_OBJ(i))<-4000 Or ObjectX(AMMUS_OBJ(i))>4000 Or ObjectY(AMMUS_OBJ(i))<-4000 Or ObjectY(AMMUS_OBJ(i))>4000 Then
DeleteObject AMMUS_OBJ(i)
AMMUS_ELOSSA(i)=OFF
EndIf
EndIf
Next i
Return
Re: Tyhmät kysymykset (I/2010)
Muuten onnistui mutta nyt ei näy ammuksia
Code: Select all
Not enough disc space. Delete windows?
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: Tyhmät kysymykset (I/2010)
Nyt toimii kaappaus, mutta kun olen tiputtanut toisen ja yrittänyt ottaa toista tiputuksen jälkeen hallintaan, niin se tiputettu on taas sama jota hallitsen ei se toinen. Apuva:
[/edit]
EDIT:
Nyt ogelmani on että kun ammus osuu jälkimmäiseen niin se ei tuhoudu eikä hiiri enään hallitse sitä. Koodi:
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.
I know not what I know, but I do know that it's not beautiful.
I know not what I know, but I do know that it's not beautiful.
Re: Tyhmät kysymykset (I/2010)
Elikkä kun ekan aseen lataus on "reload =4" niin millä tavoin saan määritettyä että toisen aseen ammukset eivät lataudu yhtä nopeasti. Ja kun sain aiempien ohjeiden mukaisesti aseet toimimaan niin nyt eivät ammukset näy
Code: Select all
Not enough disc space. Delete windows?
Re: Tyhmät kysymykset (I/2010)
Dewe wrote:Elikkä kun ekan aseen lataus on "reload =4" niin millä tavoin saan määritettyä että toisen aseen ammukset eivät lataudu yhtä nopeasti. Ja kun sain aiempien ohjeiden mukaisesti aseet toimimaan niin nyt eivät ammukset näy
Code: Select all
Reload2 = 156
Re: Tyhmät kysymykset (I/2010)
Ei auttanutChaosworm wrote:Dewe wrote:Elikkä kun ekan aseen lataus on "reload =4" niin millä tavoin saan määritettyä että toisen aseen ammukset eivät lataudu yhtä nopeasti. Ja kun sain aiempien ohjeiden mukaisesti aseet toimimaan niin nyt eivät ammukset näyCode: Select all
Reload2 = 156
Code: Select all
Not enough disc space. Delete windows?
Re: Tyhmät kysymykset (I/2010)
Olisi pitänyt auttaa. Väännetään sitten rautalangasta:
Code: Select all
Reload = 4
Reload2 = 156
Repeat
If MouseHit(1) And Ase = 1 And reload = 0 Then AmmuAseella1()
If MouseHit(1) And Ase = 2 And reload2 = 0 Then AmmuAseella2()
Reload -1
Reload2 -1
Forever
Re: Tyhmät kysymykset (I/2010)
Postcounter = Postcounter + 1Chaosworm wrote:Olisi pitänyt auttaa.
Onko se rautalangasta vääntämistä jos koodi ei ole läheskään toimivaa? Esimerkiksi reloadit menevät pakolta miinuksen puolelle.Chaosworm wrote: Olisi pitänyt auttaa. Väännetään sitten rautalangasta:
Code: Select all
Reload = 4 Reload2 = 156 Repeat If MouseHit(1) And Ase = 1 And reload = 0 Then AmmuAseella1() If MouseHit(1) And Ase = 2 And reload2 = 0 Then AmmuAseella2() Reload -1 Reload2 -1 Forever
Hengität nyt manuaalisesti.
Re: Tyhmät kysymykset (I/2010)
Niinpä niin .DatsuniG wrote:Postcounter = Postcounter + 1
Editoiminen ei nosta postikountteria, mutta eipä se nosta myöskään viestiketjua. Uuden viestin kirjoittaminen sen sijaan nostaa viestiketjun, joten uusi asia huomataan helpommin. Yritän tässä auttaa ihmisiä, ja jos sinulla on jotain sitä vastaan, voit jättää lukematta kaikki Ongelmat-alueella olevat viestit.
Re: Tyhmät kysymykset (I/2010)
Ei aloittelijoille ole kaikki itsestään selvää, eikä yksittäisen muuttujan postaaminen pakolta soita mitään kelloja.Chaosworm wrote:Niinpä niin .DatsuniG wrote:Postcounter = Postcounter + 1
Editoiminen ei nosta postikountteria, mutta eipä se nosta myöskään viestiketjua. Uuden viestin kirjoittaminen sen sijaan nostaa viestiketjun, joten uusi asia huomataan helpommin. Yritän tässä auttaa ihmisiä, ja jos sinulla on jotain sitä vastaan, voit jättää lukematta kaikki Ongelmat-alueella olevat viestit.
Code: Select all
FrameLimit 80
SCREEN 800,600
ääniAmmu = LoadSound ("Files\Gun_fire1.wav")
ääniammu2 = LoadSound ("Files\Gun_fire2.wav")
kartta = LoadMap("--------testmap.til","Space.bmp")
Alus=LoadObject("Files/Kopio_Raketti.bmp",300)
pati=LoadObject("Files/Ammus_1.bmp", 300)
pati2=LoadObject ("Files\Ammus_2.bmp", 300)
RotateObject Alus,90
PositionObject Alus,-150,100
ShowObject pati,OFF
ShowObject pati2,OFF
PlayObject kartta,0,0,1
SetWindow "-------"
Dim AMMUS_ELOSSA(100)
Dim AMMUS_OBJ(100,1)
Color cbOrange
AddText "------------"
Repeat
If LeftKey() Then TurnObject Alus,5
If RightKey() Then TurnObject Alus,-5
If UpKey() Then MoveObject Alus,10
If ObjectX(Alus)<-3700 Then PositionObject Alus,-3700,ObjectY(Alus)
If ObjectX(Alus)>3700 Then PositionObject Alus,3700,ObjectY(Alus)
If ObjectY(Alus)<-3700 Then PositionObject Alus,ObjectX(Alus),-3700
If ObjectY(Alus)>3700 Then PositionObject Alus,ObjectX(Alus),3700
If KeyDown(cbKeyLControl) And reload=0 Then
If weapon = 0 Then
PlaySound ääniAmmu,50
Else
PlaySound ääniAmmu2,50
EndIf
Gosub LisääAmmus
EndIf
If KeyHit(cbKeyReturn) Then Weapon = Not(Weapon)
If reload>0 Then reload=reload-1
Gosub PäivitäAmmukset
DrawGame
CloneCameraPosition Alus
DrawScreen
Until EscapeKey()
End
'-----------------------------------------------
LisääAmmus:
For i=1 To 100
If AMMUS_ELOSSA(i)=OFF Then
If weapon = 0 Then
AMMUS_ELOSSA(i)=ON
AMMUS_OBJ(i,0)=CloneObject(pati)
AMMUS_OBJ(i,1) = 4
reload=4
Else
AMMUS_ELOSSA(i)=ON
AMMUS_OBJ(i,0)=CloneObject(pati2)
AMMUS_OBJ(i,1) = 12
reload = 20
EndIf
CloneObjectPosition AMMUS_OBJ(i),Alus
CloneObjectOrientation AMMUS_OBJ(i),Alus
Exit
EndIf
Next i
Return
'-----------------------------------------------
PäivitäAmmukset:
For i=1 To 100
If AMMUS_ELOSSA(i) Then
MoveObject AMMUS_OBJ(i,0),AMMUS_OBJ(i,1)
If ObjectX(AMMUS_OBJ(i))<-4000 Or ObjectX(AMMUS_OBJ(i))>4000 Or ObjectY(AMMUS_OBJ(i))<-4000 Or ObjectY(AMMUS_OBJ(i))>4000 Then
DeleteObject AMMUS_OBJ(i)
AMMUS_ELOSSA(i)=OFF
EndIf
EndIf
Next i
Return
EDIT:
@Astigma: Käytänkö "Ilmoita tämä viesti"-namiskaa ensi kerralla?
Last edited by DatsuniG on Sat Jan 09, 2010 5:36 pm, edited 2 times in total.
Hengität nyt manuaalisesti.
Re: Tyhmät kysymykset (I/2010)
Noniin, soo soo. Tietenkin täällä saa auttaa ja kaikki apu on aina tarpeen. Joskus on hyvä, että antaa vähän vähemmän vinkkiä jotta joku joskus saisi ahaa-elämyksen ja ehkä oppisi asian copy-pasten sijaan. Joskus on taas parempi vääntää rautalangasta. On kuitenkin puhtaasti moderaattorien/adminien tehtävä huomauttaa turhista viesteistä ja siitä sitten antaa rangaistuksia jos näin katsotaan tarpeelliseksi. Liian monesti huomaan tällaista viestittelyä, missä vaan puututaan toisten käyttäjien viestien sisältöön/virheisiin/sääntöjen vastaisuuksiin. Haluaisin, että se poistuisi ja siksi nyt tähän puutuinkin.
Re: Tyhmät kysymykset (I/2010)
Näin onnistuu.Misthema wrote:En löytänyt haulla tähän asiaan tuloksia, joten heitänpä sen tänne:
Eli miten on mahdollista saada kahdella peräkkäisellä SCREEN -komennolla 320x240 ruutu venytettyä 800x600 resoluution sisään ja kokoruutuun? Nyt en siis ole haluamassa 320x240 ikkunaa venytettynä "kokoruutuun" reunoineen kaikkineen, vaan samaan tapaan kun SCREEN -komennon kokoruututila.
Eli siis grafiikka olisi silti piirretty 320x240 ruudun sisään, mutta venytetty sitten 800x600 resoluution kokoruutuun.
Minua on tässä kerran neuvottu ja sainkin sen toimimaan, mutta en enää muista miten sen tein...
Code: Select all
SCREEN 800,600,0,1 : SCREEN 320,240,0,cbSizable
SetWindow "",3 // suurennetaan ikkuna kokoruudulle
Repeat
For i=0 To 100
Box 160+Cos(Timer() / 8-i*10)*120, 120+Sin(Timer() / 9-i*10)*95,Abs(3.0*(Sin(Timer() / 4.5-i*5)) *(Cos(Timer() / 4-i*5)))+1, Abs(3.0*(Sin(Timer() / 9-i*10)) *(Cos(Timer() / 8-i*10)))+1, 1
Next i
DrawScreen
Forever
- Misthema
- Advanced Member
- Posts: 312
- Joined: Mon Aug 27, 2007 8:32 pm
- Location: Turku, Finland
- Contact:
Re: Tyhmät kysymykset (I/2010)
Juu, hienoa. Tätähän minä en tiennytkään..CCE wrote:Näin onnistuu.Misthema wrote:En löytänyt haulla tähän asiaan tuloksia, joten heitänpä sen tänne:
Eli miten on mahdollista saada kahdella peräkkäisellä SCREEN -komennolla 320x240 ruutu venytettyä 800x600 resoluution sisään ja kokoruutuun? Nyt en siis ole haluamassa 320x240 ikkunaa venytettynä "kokoruutuun" reunoineen kaikkineen, vaan samaan tapaan kun SCREEN -komennon kokoruututila.
Eli siis grafiikka olisi silti piirretty 320x240 ruudun sisään, mutta venytetty sitten 800x600 resoluution kokoruutuun.
Minua on tässä kerran neuvottu ja sainkin sen toimimaan, mutta en enää muista miten sen tein...Code: Select all
SCREEN 800,600,0,1 : SCREEN 320,240,0,cbSizable SetWindow "",3 // suurennetaan ikkuna kokoruudulle Repeat For i=0 To 100 Box 160+Cos(Timer() / 8-i*10)*120, 120+Sin(Timer() / 9-i*10)*95,Abs(3.0*(Sin(Timer() / 4.5-i*5)) *(Cos(Timer() / 4-i*5)))+1, Abs(3.0*(Sin(Timer() / 9-i*10)) *(Cos(Timer() / 8-i*10)))+1, 1 Next i DrawScreen Forever
!! ;EMisthema wrote:... Nyt en siis ole haluamassa 320x240 ikkunaa venytettynä "kokoruutuun" reunoineen kaikkineen, vaan samaan tapaan kun SCREEN -komennon kokoruututila.
Re: Tyhmät kysymykset (I/2010)
Miten saan piirrettyä monta vihollista samaan aikaan?
Code: Select all
viholliset = 10
vihollinen=loadobject ("Media\ukkeli.bmp")
'tähän ne yhdellä tai parilla komennolla ne kaikki viholliset
Re: Tyhmät kysymykset (I/2010)
Typeillä onnistuu. Tähän tapaan:Panzur wrote:Miten saan piirrettyä monta vihollista samaan aikaan?
Code: Select all
Type VIHOLLISET
Field Obj
EndType
SCREEN 400, 300, 0, 0
vihu_master=loadobject ("Media\ukkeli.bmp")
For i = 1 to 10
uusiVihu.VIHOLLISET = New (VIHOLLISET)
uusiVihu\obj = CloneObject (vihu_master
PositionObject uusiVihu\obj, Rand (1,400), Rand (1,300)
Next i
Repeat
For iVihu.VIHOLLISET = Each VIHOLLISET
PointObject iVihu\obj, vihu_master
MoveObject iVihu\obj, 4
Next iVihu
DrawScreen
Forever
Re: Tyhmät kysymykset (I/2010)
Niin, taikka taulukoilla. Mutta suosittelen tyyppejä tuohon hommaan.Chaosworm wrote:Typeillä onnistuu. Tähän tapaan:Panzur wrote:Miten saan piirrettyä monta vihollista samaan aikaan?
Code: Select all
...
Code: Select all
Dim vihut(9) 'Luodaan taulukko 10 viholliselle, 0...9
master_vihu = LoadObject("Media/guy.bmp",72) 'master objekti josta kopioidaan muut vihut
ShowObject master_vihu, OFF 'Piilotetaan master_vihu objekti
For i = 0 to 9
vihut(i) = CloneObject (master_vihu) 'Kopioidaan jokaiseen soluun objekti
Next i
Repeat
For i = 0 to 9
MoveObject vihut(i), 4
Next i
DrawScreen
Forever
Tämä tapa toimii ihan hyvin, mutta jos vihollisten määrä muuttuilee paljonkin niin Tyypit ehdottomasti.
Edit: Kommentoin hieman.
Re: Tyhmät kysymykset (I/2010)
Aattelinpa et koitan tehä autolle luisun. No ihan hyvin se meni muuten, mutta tuli pikku ongelma: Kun auto palautuu luisusta, luisun pitäisi palautua ja auton lähtä keulan osoittamaan suuntaan. Noh, Auton keula kääntyykin luisu suuntaan.
Pahoittelen selityksen epäselvyyttä, mutta tajuatte ongelman kun kokeilette koodiani.
Edit: Onko tosi ettei tähä löydy vastausta. Määkun luulin foorumia kaikki tietäväksi.
Pahoittelen selityksen epäselvyyttä, mutta tajuatte ongelman kun kokeilette koodiani.
Code: Select all
SCREEN 640,480
auto=LoadObject("Media/car2.bmp",360)
x#=0
y#=0
kulma#=0
luisu#=0
luisu2#=0
vauhti#=0
Repeat
SetWindow ""+FPS()
If kulma<0 Then kulma=360
If kulma>360 Then kulma=0
If LeftKey() And vauhti>1 Then kulma+2
If RightKey() And vauhti>1 Then kulma-2
If LeftKey() And vauhti>2 Then
luisu+0.4
Else
luisu-1.4
EndIf
If luisu<0 Then luisu=0
If RightKey() And vauhti>2 Then
luisu2-0.4
Else
luisu2+1.4
EndIf
If luisu2>0 Then luisu2=0
If UpKey() Then
vauhti+0.1
Else
vauhti-0.05
EndIf
If DownKey() Then vauhti-0.1
If vauhti>5 Then vauhti=5
If vauhti<0 Then vauhti=0
x=x+Cos(kulma)*vauhti
y=y+Sin(kulma)*vauhti
RotateObject auto,kulma+luisu+luisu2
PositionObject auto,x,y
DrawGame
Text 10,10,"Kulma:"+kulma+" x:"+x+" y:"+y
DrawScreen
Forever
Re: Tyhmät kysymykset (I/2010)
Tuli muuten tällänen mieleen että onko Cool Basic:illa mahdollista tehdä minkään näköistä strategia peliä?