Coolbasicvirhe

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

Coolbasicvirhe

Post by Lefa46 »

Mielestäni itse hiiri, ilman piirtokommennusta ei saisi jättää jälkiä taustaan.
Näin käy jostain syystä kun vaihdan hiirinuolen ristiin.
Taatero
Advanced Member
Posts: 384
Joined: Tue May 27, 2008 6:06 pm

Re: Coolbasicvirhe

Post by Taatero »

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 7:36 pm

Re: Coolbasicvirhe

Post by Lefa46 »

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 »

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 »

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 7:36 pm

Re: Coolbasicvirhe

Post by Lefa46 »

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 7:06 pm, edited 1 time in total.
Reason: Laitoin koodin [code][/code]-tagien sisään
Sly_Jack0
Devoted Member
Posts: 612
Joined: Mon Dec 10, 2007 8:25 am

Re: Coolbasicvirhe

Post by Sly_Jack0 »

Koodi toimii oikein, kun siirrät rivin "DrawImage rata,0,0" Repeat-silmukkaan.
Viltzu
Guru
Posts: 1132
Joined: Sun Aug 26, 2007 5:45 pm
Location: Alavieska
Contact:

Re: Coolbasicvirhe

Post by Viltzu »

Öö tottakai hiiri jää taustaan kun et tyhjennä missään välissä ruutua. (Koodissasi on "DrawScreen OFF" joka tarkoittaa ettei ruutua tyhjennetä)
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm
Contact:

Re: Coolbasicvirhe

Post by Koodiapina »

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 7:36 pm

Re: Coolbasicvirhe

Post by Lefa46 »

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 »

Lefa46 wrote:Kaksi kysymystä:

Miksi ei tavallinen nuolihiiri jätä jälkiä esimerkkiini?
Se ei ole objekti.
naputtelija
Devoted Member
Posts: 718
Joined: Wed Nov 03, 2010 7:56 pm
Location: Joku piste pohjoisessa.

Re: Coolbasicvirhe

Post by naputtelija »

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 7: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: 875
Joined: Mon Aug 27, 2007 10:18 pm
Location: Pori
Contact:

Re: Coolbasicvirhe

Post by Jare »

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.
atomimalli
Moderator
Moderator
Posts: 227
Joined: Wed Aug 29, 2007 3:55 pm

Re: Coolbasicvirhe

Post by atomimalli »

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