Coolbasicvirhe

CoolBasiciin yleisesti liittyvä keskustelu.
Post Reply
Lefa46
Newcomer
Posts: 4
Joined: Mon Jan 10, 2011 8:36 pm

Coolbasicvirhe

Post by Lefa46 » Thu Jan 13, 2011 3:41 pm

Mielestäni itse hiiri, ilman piirtokommennusta ei saisi jättää jälkiä taustaan.
Näin käy jostain syystä kun vaihdan hiirinuolen ristiin.

User avatar
Taatero
Advanced Member
Posts: 384
Joined: Tue May 27, 2008 6:06 pm

Re: Coolbasicvirhe

Post by Taatero » Thu Jan 13, 2011 3:47 pm

Lefa46 wrote:Mielestäni itse hiiri, ilman piirtokommennusta ei saisi jättää jälkiä taustaan.
Näin käy jostain syystä kun vaihdan hiirinuolen ristiin.
Vika mitä luultavammin löytyy näppiksen takaa. Jos vaikka postaisit koodisi (mieluiten code-tagissa), niin porukat voisivat auttaa sinua.
[color=#40BF00][u]koodaaja[/u][/color] wrote:Täyden turvan takaamiseksi avain olisi myös kuljetettava offlinenä suoraan tulevien viestien lähettäjältä niiden vastaanottajalle laitakaupungin hämärissä yöneljältä ja varmistettava, ettei kumpaakaan osapuolta seurata. Popliinitakkia suositellaan.

Lefa46
Newcomer
Posts: 4
Joined: Mon Jan 10, 2011 8:36 pm

Re: Coolbasicvirhe

Post by Lefa46 » Thu Jan 13, 2011 6:38 pm

Hiiri pitää käyttäytä samalla tavalla riipumatta muodosta.

User avatar
Dibalo
Advanced Member
Posts: 298
Joined: Mon Aug 27, 2007 8:12 pm
Location: Espoo, Finland
Contact:

Re: Coolbasicvirhe

Post by Dibalo » Thu Jan 13, 2011 8:21 pm

Mikäli pystyt toistamaan virheen niin ota ihmeessä screenshot ja mahdollisesti taustalla oleva koodi. Näin auttaminen helpottuu huomattavasti. :)
The darkest spells can be found from
http://tunkkaus.blogspot.fi

User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Coolbasicvirhe

Post by esa94 » Thu Jan 13, 2011 8:23 pm

Lefa46 wrote:Mielestäni itse hiiri, ilman piirtokommennusta ei saisi jättää jälkiä taustaan.
Näin käy jostain syystä kun vaihdan hiirinuolen ristiin.
Käytätkö Drawscreen On:ia?

Lefa46
Newcomer
Posts: 4
Joined: Mon Jan 10, 2011 8:36 pm

Re: Coolbasicvirhe

Post by Lefa46 » Fri Jan 14, 2011 4:07 pm

Tässä esimerkki jossa hiiri piirtää taustaan.

Code: Select all

hiiri=LoadImage("d:\crosshair.bmp")
ShowMouse hiiri
rata=LoadImage("d:\rata.bmp")
DrawImage rata, 0,0
DrawScreen OFF
soldier=LoadObject("Media\soldier.bmp",360)

Repeat
if k<360 Then k=k+1 Else k=1
    'update this code every 1.5 seconds
        RotateObject soldier,k
    DrawScreen OFF
Until EscapeKey()
Last edited by Jare on Sun Jan 16, 2011 8:06 pm, edited 1 time in total.
Reason: Laitoin koodin [code][/code]-tagien sisään

User avatar
Sly_Jack0
Devoted Member
Posts: 612
Joined: Mon Dec 10, 2007 9:25 am

Re: Coolbasicvirhe

Post by Sly_Jack0 » Fri Jan 14, 2011 4:12 pm

Koodi toimii oikein, kun siirrät rivin "DrawImage rata,0,0" Repeat-silmukkaan.

User avatar
Viltzu
Guru
Posts: 1132
Joined: Sun Aug 26, 2007 5:45 pm
Location: Alavieska
Contact:

Re: Coolbasicvirhe

Post by Viltzu » Fri Jan 14, 2011 4:19 pm

Öö tottakai hiiri jää taustaan kun et tyhjennä missään välissä ruutua. (Koodissasi on "DrawScreen OFF" joka tarkoittaa ettei ruutua tyhjennetä)

User avatar
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm
Contact:

Re: Coolbasicvirhe

Post by Koodiapina » Fri Jan 14, 2011 4:32 pm

Jätkä ei sitten suostunut pistämään sitä koodiaan code-tagien sisään, vaikka sitä varta vasten pyydettiin :D
Sly_Jack0 wrote:Koodi toimii oikein, kun siirrät rivin "DrawImage rata,0,0" Repeat-silmukkaan.
Tämä ei vielä riitä. Ruutu on myös siivottava aina piirtämisen jälkeen. Korjattu koodi:

Code: Select all

ShowMouse LoadImage("d:\crosshair.bmp")

rata = LoadImage("d:\rata.bmp")
soldier = LoadObject("Media\soldier.bmp",360)

Repeat
	DrawImage rata,0,0
	
	If k<360 Then k=k+1 Else k=1
	RotateObject soldier,k

	DrawScreen
Until EscapeKey()
Olen liian älykäs ollakseni väärässä. Jos olet kanssani eri mieltä, suosittelen sinua pohtimaan omaa elämänkatsomustasi ja sen perusteita.

Lefa46
Newcomer
Posts: 4
Joined: Mon Jan 10, 2011 8:36 pm

Re: Coolbasicvirhe

Post by Lefa46 » Fri Jan 14, 2011 5:59 pm

Kaksi kysymystä:

Miksi ei tavallinen nuolihiiri jätä jälkiä esimerkkiini?

Miten piirtäisin vain objektin taustaa muuttamatta kun drawscreen Off ei toimi esimerkissäni?

User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Coolbasicvirhe

Post by esa94 » Fri Jan 14, 2011 6:05 pm

Lefa46 wrote:Kaksi kysymystä:

Miksi ei tavallinen nuolihiiri jätä jälkiä esimerkkiini?
Se ei ole objekti.

User avatar
naputtelija
Devoted Member
Posts: 718
Joined: Wed Nov 03, 2010 8:56 pm
Location: Joku piste pohjoisessa.

Re: Coolbasicvirhe

Post by naputtelija » Sat Jan 15, 2011 1:42 pm

Lefa46 wrote: Miten piirtäisin vain objektin taustaa muuttamatta kun drawscreen Off ei toimi esimerkissäni?
Etkö jo usko että se pitää nimen omaan olla DRAWSCREEN tai DRAWSCREEN ON koska muuten se piirtäessä jättää edelliset tavarat ruudulle.

Drawscreen off tarkoittaa että ohjelma piirtää objektit/kuvat edellisen framen aikana piirretyn objektien/kuvien päälle.
Last edited by Jare on Sun Jan 16, 2011 8:08 pm, edited 1 time in total.
Reason: Ei niitä komentoja tarvitse kissan kokoisilla kirjaimilla kirjoittaa.
<Ize> Pitäs tehä allekirjotus..
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...

User avatar
Jare
Devoted Member
Posts: 862
Joined: Mon Aug 27, 2007 10:18 pm
Location: Helsinki

Re: Coolbasicvirhe

Post by Jare » Sun Jan 16, 2011 8:12 pm

Lefa46 wrote:Miten piirtäisin vain objektin taustaa muuttamatta kun drawscreen Off ei toimi esimerkissäni?
Se ei onnistu. Käytännössä tausta tulee lenkin joka kierroksella piirtää uudestaan. Kyse ei ole kovin isosta ongelmasta siinä mielessä, että yhden taustakuvan piirtäminen on todella nopeaa, eli ei siis aiheuta ohjelmaan hidastumista.

User avatar
atomimalli
Moderator
Moderator
Posts: 227
Joined: Wed Aug 29, 2007 3:55 pm

Re: Coolbasicvirhe

Post by atomimalli » Mon Jan 17, 2011 1:29 am

Jos haluaa kaikesta huolimatta drawscreen offin kaltaista käytöstä ohjelmalta, kannattaa piirtää välikuvaan kaiken drawtoimagella ja piirtää sen framen lopussa ruudulle kun on käyttänyt ensin drawtoscreenia.

Code: Select all

Välikuva=makeimage(400,300)
Repeat
Drawtoimage välikuva
Text 200+sin(timer()/12.3)*20,150*sin(timer()/9.8),"tämä piirtyy kuvaan"
Drawtoscreen
Text 200+sin(timer()/7.5)*20,150*sin(timer()/4.8),"tämä ei piirry kuvaan"
Drawscreen
Forever

Post Reply