Page 21 of 23
Re: Tyhmät kysymykset (I/2012)
Posted: Fri Jun 14, 2013 2:27 am
by esa94
Latexi95 wrote:naputtelija wrote:
Tuo on kökkö ratkaisu. Kerroin tämän jo vähän aikaa sitten, mutta kannattaa cbEditorin ominaisuuksista valita suorita ohjelma järjestelmänvalvojana.
Mielestäni ratkaisuni on paljon parempi kuin aina järjestelmän valvojana suorittaminen. Ei tule aina inhottavaa oikeuksien kyselyä eikä uudelleen asentaminen kestä kuin 2min.
Ohjelmien poistaminen Windowsilla on aina persiistä.
Re: Tyhmät kysymykset (I/2012)
Posted: Fri Jun 14, 2013 10:55 pm
by valscion
Ei kinata nyt mielipideasioista täällä topikissa, kiitos.
Vaihtoehtoja on tosiaan ja kaikki niistä ratkaisevat asian, mikäli ongelmakohtana ei ole virustentorjuntaohjelmisto:
- Aja CBEditor.exe järjestelmänvalvojana
- Asenna CoolBasic jonnekin muualle kuin Program Files -kansioon
- Aseta CoolBasic-kansiolle omalle/kaikille käyttäjille kirjoitusoikeudet
Tämä kysymys tullee aina vähän väliä esiin eikä sille voi mitään, että kaikki käyttäjät eivät osaa/ymmärrä lukea tuota usein ihmeteltyjen ongelmien listaa. Koitetaan tulevaisuudessa vastata kohteliaasti kysymyksiin eikä vain heti turhauduta, mikäli viesti ei mene perille
Re: Tyhmät kysymykset (I/2012)
Posted: Sat Jun 15, 2013 7:37 pm
by seancarrion
Hei!
Miten saisin luotua ns. valikon, jossa on backgroundi, ja välkkyvä "Insert coin to play"-teksti.
Painettua mitä tahansa näppäintä, peli alkaa. Kiitos jo etukäteen.
Re: Tyhmät kysymykset (I/2012)
Posted: Sat Jun 15, 2013 8:29 pm
by Latexi95
Tee Repeat-Until looppi jossa piirrät välkkyvän tekstin (Text, Color, DrawScreen jne.) ja taustan. Untilin ehdoksi kannattaa laittaa (GetKey() <> 0 Or GetMouse() <> 0), jolloin loopista poistutaan, kun jotain nappia painetaan.
Re: Tyhmät kysymykset (I/2012)
Posted: Sat Jun 15, 2013 9:00 pm
by seancarrion
Latexi95 wrote:Tee Repeat-Until looppi jossa piirrät välkkyvän tekstin (Text, Color, DrawScreen jne.) ja taustan. Untilin ehdoksi kannattaa laittaa (GetKey() <> 0 Or GetMouse() <> 0), jolloin loopista poistutaan, kun jotain nappia painetaan.
Tuota, koska olen aika säälittävä näissä asioissa, voisitko kirjoittaa minulle koodipätkän? c:
Re: Tyhmät kysymykset (I/2012)
Posted: Sat Jun 15, 2013 9:06 pm
by Latexi95
No tässä taiteellinen näkemykseni vilkkuvasta tekstistä:
Code: Select all
Repeat
Color Rand(255),Rand(255),Rand(255)
Text 10, 10, "Hello world"
DrawScreen
Until (GetKey() <> 0 Or GetMouse() <> 0)
Re: Tyhmät kysymykset (I/2012)
Posted: Sat Jun 15, 2013 10:02 pm
by naputtelija
Latexi95 wrote:No tässä taiteellinen näkemykseni vilkkuvasta tekstistä:
Code: Select all
Repeat
Color Rand(255),Rand(255),Rand(255)
Text 10, 10, "Hello world"
DrawScreen
Until (GetKey() <> 0 Or GetMouse() <> 0)
Hän tarkoitti varmaan tällaista:
Code: Select all
starttime = Timer() 'Otetaan nykyinen aika
Repeat
If Timer()-starttime >500 Then Color cbRed 'Jos kulunut aika on suurempi kuin 0,5s niin punainen
If Timer()-starttime <500 Then Color cbGreen 'Jos pienempi niin sininen
If Timer()-starttime >1000 Then starttime=Timer() 'Jos suurempi kuin 1s nollataan ajastin
Text 0,0,"Minä vilkun!" 'Piirretään teksti
DrawScreen
Forever
Re: Tyhmät kysymykset (I/2012)
Posted: Sat Jun 15, 2013 10:44 pm
by seancarrion
Kiitos kummallekkin, mutta tarkoitin enemmän tällaista :
Kun ohjelma käynnistyy, näkyy kuva, jonka keskellä on "Insert coin to play!"-teksti. Myös musiikki soi. Vilkkumisella tarkoitan sitä, että se vaihtaa näkyvän ja näkymättömän välillä joka sekunti. Minkä tahansa napin jälkeen pelaaja spawnaa kentälle, minkä yhteydessä musiikki vaihtuu. Kiitos kuitenkin avusta.
Re: Tyhmät kysymykset (I/2012)
Posted: Sat Jun 15, 2013 11:17 pm
by naputtelija
seancarrion wrote:Kiitos kummallekkin, mutta tarkoitin enemmän tällaista :
Kun ohjelma käynnistyy, näkyy kuva, jonka keskellä on "Insert coin to play!"-teksti. Myös musiikki soi. Vilkkumisella tarkoitan sitä, että se vaihtaa näkyvän ja näkymättömän välillä joka sekunti. Minkä tahansa napin jälkeen pelaaja spawnaa kentälle, minkä yhteydessä musiikki vaihtuu. Kiitos kuitenkin avusta.
Ahaa... SIinä tapauksessa ratkaisu olisi tämmöinen.
Kommenteissa kerrotaan vähän tarkemmin. "Täyttöpeliksi" koodailin pikkuisen liikuteltavan pallon.
Code: Select all
FrameLimit 60
//Tässä on valikko
starttime = Timer() 'Otetaan nykyinen aika
normal=LoadFont("arial",13)
big=LoadFont("arial",20)
SetFont(big)
Repeat
If Timer()-starttime <500 Then CenterText ScreenWidth()/2,0,"Insert coin To play!!" 'Piirretään teksti jos pienempi kuin 0,5s
If Timer()-starttime >1000 Then starttime=Timer() 'Jos suurempi kuin 1s nollataan ajastin
DrawScreen
Until (GetKey() <> 0 Or GetMouse() <> 0)
SetFont(normal)
//Hyvin yksinkertainen liikkuva juttu by naputtelija
//Laita tämän paikalle sitten pelisi koodi
//Tämän toimintaa ei siis tarvi ymmärtää, mutta voit yrittää :)
x=ScreenWidth()/2
y=ScreenHeight()/2
angle=90
speed=5
Repeat
move=0
move=UpKey()*speed-DownKey()*speed
angle=angle+RightKey()*speed-LeftKey()*speed
x=x+Int(Cos(angle)*move)
y=y+Int(Sin(angle)*move)
Circle x-10,y-10,20,0
Line x,y,x+Int(Cos(angle)*15),y+Int(Sin(angle)*15)
DrawScreen
Forever
Re: Tyhmät kysymykset (I/2012)
Posted: Sat Jun 15, 2013 11:50 pm
by seancarrion
naputtelija wrote:seancarrion wrote:Kiitos kummallekkin, mutta tarkoitin enemmän tällaista :
Kun ohjelma käynnistyy, näkyy kuva, jonka keskellä on "Insert coin to play!"-teksti. Myös musiikki soi. Vilkkumisella tarkoitan sitä, että se vaihtaa näkyvän ja näkymättömän välillä joka sekunti. Minkä tahansa napin jälkeen pelaaja spawnaa kentälle, minkä yhteydessä musiikki vaihtuu. Kiitos kuitenkin avusta.
Ahaa... SIinä tapauksessa ratkaisu olisi tämmöinen.
Kommenteissa kerrotaan vähän tarkemmin. "Täyttöpeliksi" koodailin pikkuisen liikuteltavan pallon.
Code: Select all
FrameLimit 60
//Tässä on valikko
starttime = Timer() 'Otetaan nykyinen aika
normal=LoadFont("arial",13)
big=LoadFont("arial",20)
SetFont(big)
Repeat
If Timer()-starttime <500 Then CenterText ScreenWidth()/2,0,"Insert coin To play!!" 'Piirretään teksti jos pienempi kuin 0,5s
If Timer()-starttime >1000 Then starttime=Timer() 'Jos suurempi kuin 1s nollataan ajastin
DrawScreen
Until (GetKey() <> 0 Or GetMouse() <> 0)
SetFont(normal)
//Hyvin yksinkertainen liikkuva juttu by naputtelija
//Laita tämän paikalle sitten pelisi koodi
//Tämän toimintaa ei siis tarvi ymmärtää, mutta voit yrittää :)
x=ScreenWidth()/2
y=ScreenHeight()/2
angle=90
speed=5
Repeat
move=0
move=UpKey()*speed-DownKey()*speed
angle=angle+RightKey()*speed-LeftKey()*speed
x=x+Int(Cos(angle)*move)
y=y+Int(Sin(angle)*move)
Circle x-10,y-10,20,0
Line x,y,x+Int(Cos(angle)*15),y+Int(Sin(angle)*15)
DrawScreen
Forever
Kiitos. Tämä oli juuri sitä mitä tarvitsin. Nyt pitää vielä säätää tekstin lokaatio, sekä saada kuva taustalle.
Ihanaa, että täällä on apua antavia ihmisiä. Hyvää yötä sinulle c:
Re: Tyhmät kysymykset (I/2012)
Posted: Tue Jun 18, 2013 7:27 pm
by Pollomuhku
Code: Select all
Function BGM (name$, change)
If SoundPlaying(music)=False Then
music=PlaySound ("Data\BGM\"+name$+".mp3")
EndIf
If change=1
StopSound music
music=PlaySound ("Data\BGM\"+name$+".mp3")
EndIf
End Function
Mikä tässä funktiossa on vikana? Aiemman musiikin soitto ei lopu.
Re: Tyhmät kysymykset (I/2012)
Posted: Tue Jun 18, 2013 9:21 pm
by Sly_Jack0
Onko music-muuttuja globaali? Jos ei, niin tuo funktio pysäyttäisi itse aloittamansa äänen.
Re: Tyhmät kysymykset (I/2012)
Posted: Tue Jun 18, 2013 11:05 pm
by Pollomuhku
music ei ole globaali, funktion tarkoitus olisi pystyä toistamaan musiikkia ja vaihtamaan kappaleesta toiseen. Eräs toinenkin ongelma tuli esiin, jonkin ajan päästä tulee virheilmoitus "Can't load image: 'Data\BG\Cell.jpg'", vaikka kyseinen kuva näkyy olevan aivan hyvin ladattuna.
EDIT:Muutin musicin globaaliksi, toimii hyvin nyt.
Re: Tyhmät kysymykset (I/2012)
Posted: Sat Jun 22, 2013 10:24 pm
by Akuji
Pystyykö CoolBasicilla tekemään ns. nettiselaimen, esimerkiksi juuri cbNetworkia käyttämällä? Eli tarkemmin sanottuna yksinkertaisesti avaamaan nettisivuja CB:llä tehdyn ohjelman sisälle?
Re: Tyhmät kysymykset (I/2012)
Posted: Sat Jun 22, 2013 11:30 pm
by koodaaja
Teoriassa kyllä, se vain olisi varsin hidas ja työmäärältään ehkä suurimpia CB-projekteja ikinä. Selainhan vain kysyy palvelimelta läjän ulkoasusta ja toiminnallisuudesta kertovaa koodia, joka täytyy osata parsia ja näyttää/suorittaa. Pelkkä täydellinen CSS-parseri ja -renderöijä on valtava työ, JS-enginestä puhumattakaan.
Pelkkää perus-html:ää ilman muotoiluja saisi kyllä varmaan melko helpostikin näkyviin, siitä voi lähteä kokeilemaan.
Re: Tyhmät kysymykset (I/2012)
Posted: Sun Jul 21, 2013 5:25 pm
by temetin123
Millä ohjlemmalla saisi tehtyä grafiikat coolbasic peliin?
Re: Tyhmät kysymykset (I/2012)
Posted: Sun Jul 21, 2013 6:27 pm
by Frozen
temetin123 wrote:Millä ohjlemmalla saisi tehtyä grafiikat coolbasic peliin?
Gimp
Re: Tyhmät kysymykset (I/2012)
Posted: Sun Jul 21, 2013 6:34 pm
by Ilmuri
temetin123 wrote:Millä ohjlemmalla saisi tehtyä grafiikat coolbasic peliin?
GraphicsGale
Re: Tyhmät kysymykset (I/2012)
Posted: Sun Jul 21, 2013 7:14 pm
by legend
temetin123 wrote:Millä ohjlemmalla saisi tehtyä grafiikat coolbasic peliin?
Microsoft Paint
Re: Tyhmät kysymykset (I/2012)
Posted: Thu Oct 17, 2013 9:29 pm
by skorpioni-cb
saadakseni coolbasic-foorumin pois mureakuha-ilmiöstä, minulla on kysymys:
Code: Select all
//Constants
Const SHIP_PLAYER = 1
Const SHIP_ENEMY = 2
Const PROJECTILE_ENERGY_FRIENDLY = 1
Const ORB_HEAL = 1
Const SIDE_FRIENDLY = 1
Const SIDE_ENEMY = 2
//Type for projectiles
Type PROJECTILE
Field obj As Integer //Pointer To object that has properties of this projectile
Field damage As Float //The damage in desimal number
Field ammoType As Integer //The Type of this single projectile
Field speed As Float //Speed of the projectile
Field side As Integer //The side of the projectile
EndType
//Type for ships
Type SHIP
Field obj As Integer //Pointer To ship object
Field health As Float //Health of ship
Field side As Integer //The side of the ship
Field speed As Float //Speed of the ship
Field alive As Integer //Indigates If ship has no hp Left, used For enemy ships
EndType
//Type for powerup orbs
Type ORB
Field obj As Integer //Pointer To the orb
Field orbType As Integer //What this powerup does
EndType
SCREEN 640,360
Dim currentTime As Float
currentTime = Timer()
Dim newTime As Float
Dim delta As Float
//Everything todo with backround, it is important I promise you
backround = MakeObjectFloor()
backround_normal = LoadImage("Media\backround.png")
backround_super = LoadImage("Media\backround_hyperspace.png")
backround_speed = 0.5
backround_state = 0
PaintObject backround, backround_normal
//Stuff for player's ship
ship_player.SHIP = New(SHIP)
ship_player\obj = LoadObject("Media\spaceship.png")
ship_player\health = 100.0
ship_player\side = SHIP_PLAYER
ship_player\speed = 0.25
ship_player\alive = True
ObjectInteger ship_player\obj, Int(ConvertToInteger(ship_player))
Dim playerx As Float
Dim playery As Float
ScreenPositionObject ship_player\obj, 32,ScreenHeight()/2
//Stuff for multiplying things
masterNormalEnemy = LoadObject("Media\ship_enemy.png")
ShowObject masterNormalEnemy, OFF
masterFriendlyEnergyProjectile = LoadObject("Media\projectile_energy.png")
ShowObject masterFriendlyEnergyProjectile,OFF
Repeat
//Calculations For FPS-independece
newTime = Timer()
delta = newTime - currentTime
currentTime = newTime
//Debugging: remove remstart And remend
Remstart
If KeyHit(cbkeyspace) Then
Select backround_state
Case 1
backround_state = 0
backround_speed = 0.5
PaintObject backround, backround_normal
Case 0
backround_state = 1
backround_speed = 5
PaintObject backround, backround_super
EndSelect
EndIf
remend
//Player movement
If KeyDown(203) Then playerx =- ship_player\speed +0.05
If KeyDown(205) Then playerx =+ ship_player\speed
If KeyDown(200) Then playery =+ ship_player\speed
If KeyDown(208) Then playery =- ship_player\speed
If playerx < -1.0 Then playerx = -1.0
If playerx > 1.0 Then playerx = 1.0
If playery < -1.0 Then playery = -1.0
If playery > 1.0 Then playery = 1.0
If Not KeyDown(200) Or KeyDown(208) Then playery = CurveValue(0.00,playery,100)
If Not KeyDown(205) Or KeyDown(203) Then playerx = CurveValue(0.00,playerx,100)
TranslateObject ship_player\obj, playerx*delta, playery*delta
//Creating projectile
If KeyDown(cbkeyspace) And reload= 0 Then
newProjectile.PROJECTILE = New(PROJECTILE)
newProjectile\obj = CloneObject(masterFriendlyEnergyProjectile)
newProjectile\damage = 50
newProjectile\ammoType = PROJECTILE_ENERGY_FRIENDLY
newProjectile\speed = 0.5
newProjectile\side = SIDE_FRIENDLY
CloneObjectPosition newProjectile\obj, ship_player\obj
CloneObjectOrientation newProjectile\obj, ship_player\obj
MoveObject newProjectile\obj, 34
reload = 500
EndIf
//Move stuff
For shipUnit.SHIP = Each SHIP
If Not ConvertToInteger(shipUnit) <> ObjectInteger(ship_player\obj) Then Exit
For ammo.PROJECTILE = Each PROJECTILE
MoveObject ammo\obj, ammo\speed*delta
If ObjectSY(ammo\obj) > ScreenWidth() Then
DeleteObject ammo\obj
Delete ammo
Exit
EndIf
Next ammo
Next shipUnit
If reload > 0 Then reload = reload - 1
//Backround movement
MoveObject backround,(-backround_speed)*delta
DrawScreen
Forever
Function ObjectSX(obj)
Return ObjectX(obj)+ScreenWidth()/2-CameraX()
EndFunction
Function ObjectSY(obj)
Return -ObjectY(obj)+ScreenHeight()/2+CameraY()
EndFunction
rivi 54
Code: Select all
ObjectInteger ship_player\obj, ConvertToInteger(ship_player)
tuottaa erroria 101 eli "Yrität antaa vääräntyyppisen arvon funktiolle, komennolle, taulukkoon yms." Eli mikä tässä olisi syynä ja kyllä käytän cbE:n viimeisintä versiota jos ketään kiinnostaa