Joo, kyllä mä sen itekkin osaan korjata, mutta ajattelin vain mainita että latexi muokkaisi alkuperäisen koodinkin toimivaksi kaikilla.VesQ wrote:Heitä rivin 130TheDuck wrote:Can't load image: Media/tileset.pngtilalle tämä:Code: Select all
img = LoadImage("Media/tileset.png")
EDIT: Oli muuten ihan kivoja matriiseja . Tuohon tilesettiin kun heitti MakeEdgeDetectMatrix tai MakeSharpenMatrix niin oli aika kauhean näköistä, mutta muut toimivat oikein hienosti . Yllättävän nopeitakin olivat, kun miettii CB:n hitautta.Code: Select all
img = LoadImage("Media/tileset.bmp")
Efektit
- TheDuck
- Devoted Member
- Posts: 632
- Joined: Sun Aug 26, 2007 3:51 pm
- Location: C:\Program Files\Tuusula\
Re: Efektit
^^
Re: Efektit
Paihoittelen... Olin näköjään muuttanut "tileset.bmp":n png:ksi.TheDuck wrote:Joo, kyllä mä sen itekkin osaan korjata, mutta ajattelin vain mainita että latexi muokkaisi alkuperäisen koodinkin toimivaksi kaikilla.VesQ wrote:Heitä rivin 130TheDuck wrote:Can't load image: Media/tileset.pngtilalle tämä:Code: Select all
img = LoadImage("Media/tileset.png")
EDIT: Oli muuten ihan kivoja matriiseja . Tuohon tilesettiin kun heitti MakeEdgeDetectMatrix tai MakeSharpenMatrix niin oli aika kauhean näköistä, mutta muut toimivat oikein hienosti . Yllättävän nopeitakin olivat, kun miettii CB:n hitautta.Code: Select all
img = LoadImage("Media/tileset.bmp")
Korjasin virheen...
Re: Efektit
Retroefekteistä kiinnostuneiden kannattaa vilkaista jo klassillista Laamatuttia. Tieto on jo pahasti vanhentunutta mutta sitä on paljon
Alla on sisällysluettelo, ja koko tutoriaalin voi napata täältä. Lukemiseen suosittelen vanhan MS-DOS enkoodauksen takia Notepad++:ssaa language valikosta kieleksi valittuna "MS-DOS Style".
Alla on sisällysluettelo, ja koko tutoriaalin voi napata täältä. Lukemiseen suosittelen vanhan MS-DOS enkoodauksen takia Notepad++:ssaa language valikosta kieleksi valittuna "MS-DOS Style".
Code: Select all
Laaman tie DJGPP-peliohjelmointiin versio 2.10. By Jokke / BAD KARMA
Sisällysluettelo:
1. Esittely
1.1 Disclaimer
1.2 Mistä uusin versio?
1.3 Huomattavaa lukijalle
1.4 Kenelle tämä on tarkoitettu?
1.5 Kreditsit
1.6 Versiohistoria
1.7 Yhteystiedot
1.8 Esimerkkien kääntäminen
2. Alkeet
2.1 DJGPP - vaikea, suuri, monimutkainen, omituinen, hidas?
2.2 Grafiikkaa - mitä se on?
2.3 Paletti - hörhelöhameita ja tanssia?
3. Peruskikkoja
3.1 Kaksoispuskuri - luonnonoikku, horoskooppi?
3.2 PCX-kuvien lataus - vain vähän oikaisemalla
4. Bittikartat ja animaatiot
4.1 Bitmapit - eikai vain suunnistusta?
4.2 Animaatiot
4.3 Pitääkö spriten törmätä? Entä coca-colan?
4.4 Maskatut spritet
5. Hieman kehittyneempää yleistavaraa
5.1 Näppäimistön käsittely - ja nyt meillä on hauskaa
5.2 Fixed point matematiikka
5.3 Lookup-tablet ja muita optimointivinkkejä
5.4 Väliaikatulokset ja fontteja
5.5 Hiirulainen, jokanörtin oma lemmikki
5.6 Tekstitilan käsittely suoraan
6. Projektinhallinta
6.1 Projektien hallinta - useat tiedostot
6.2 Useiden tiedostojen projektit - kääntäminen ja hallinta
6.3 Hieman automaatiota - tapaus Rhide
6.4 Todellista guruutta - salaperäinen make
6.5 Ammattimaista meininkiä - enginen teko
7. Kehittyneemmät yksityiskohdat
7.1 Vauhtia peliin - ulkoisen assyn käyttö
7.2 PIT - aikaa ja purkkaa
7.3 Miten peli toimii yhtä nopeasti kaikilla koneilla
7.4 Yleistä asiaa pelin levityksestä
7.5 Interpolointi ja viivoja
7.6 Vapaa skrollaus
7.7 Sinit ja kosinit sekä plasmaa
7.8 Paletin kvantisointi ja rekursio - Median cut
7.9 Lisää paletin kvantisointia - Local K Mean
7.10 VESA 2.0, rakenteet
7.11 VESA 2.0, ensimmäiset keskeytykset
7.12 Miten se todella pitäisi tehdä
8. Asioiden taustaa
8.1 Datatiedostot - miten?
8.2 Läpinäkyvyys ja sen vaihtoehto - shadebobit
8.3 Motion blur - sumeeta menoa
8.4 Vektorit pelimaailmassa
8.5 Musiikkijärjestelmistä
8.6 Plasma tekee comebackin - wobblerit
8.7 Prekalkattuja pintoja - ja tunneli
8.8 Lisää kivaa - zoomaus
8.9 Polygoneista ja niiden fillauksesta
8.10 Pari kivaa feikkimoodia
9. Liitteet, jatkeet ja muu roina
9.1 Saatteeksi
9.2 Hieman koodereiden jargonia
9.3 Lähteet
-
- Moderator
- Posts: 227
- Joined: Wed Aug 29, 2007 3:55 pm
Re: Efektit
Tein tuommoisen valoefektin ja matkalla tuli tehtyä pikkuefektejä, jotka saa numeronäppäimistä myös näkyviin. Valoefektissä näkyy valokiiloja, jotka häikäisevät osuessaan kameraan. Ei mitään erityistä mutta kikkailua piirtojärjestyksien, randomizen, ajoituksien ja hiukan matematiikankin kanssa kumminkin. Näitä ei tullut erityisemmin optimoitua.
E: vaihdoin selkeämmän kuvauksen :P
Code: Select all
'This is your first CoolBasic program! <-:D
SCREEN 640,480,32
Dim par(10,5) As Float
efu=8
Repeat
Select efu
Case 1
ClsColor cbwhite
vuor=(Timer()Mod 1800)<900
Randomize (Timer()+vuor*900)/1800*17*3
k=(Timer()+(vuor)*900) Mod 1800/10
For i=1 To Min(k,90)
a=Rand(360)
c=Sin(Min(90,k-i))*127+128
Color c,c,c
Circle Rnd(-1,1)^3*320+320+Cos(a)*(k-i),Rnd(-1,1)^3*230+230+ Sin(a)*(k-i),40
Next i
Case 2
ClsColor cbwhite
vuor=(Timer()Mod 1800)<900
Randomize (Timer()+vuor*900)/1800*17*3
k=(Timer()+(vuor)*900) Mod 1800/10
For i=1 To Min(k,90)
a=Rand(360)
c=Sin(Min(90,k-i))*127+128
Color c,c,c
Circle Rnd(-1,1)^3*320+320+Cos(a)*(k-i),Rnd(-1,1)^3*230+230+ Sin(a)*(k-i),40
Next i
Randomize (Timer()+(not vuor)*900)/1800*17*3
k=(Timer()+(Not vuor)*900) Mod 1800/10
For i=1 To Min(k,90)
a=Rand(360)
c=Sin(Min(90,k-i))*127+128
Color c,c,c
Circle Rnd(-1,1)^3*320+320+Cos(a)*(k-i),Rnd(-1,1)^3*230+230+ Sin(a)*(k-i),40
Next i
Case 3
ClsColor cbwhite
Randomize (Timer()+vuor*900)/1800*17*3
k=(Timer()+(vuor)*900) Mod 1800/10
a=Rand(360)
x=Rnd(-1,1)^3*320+320
y=Rnd(-1,1)^3*230+230
For i=1 To Min(k,90)
c=Sin(Min(90,k-i))*127+128
Color c,c,c
Circle x+Cos(a)*(k-i),y+ Sin(a)*(k-i),40
Next i
Case 4
ClsColor cbblack
Randomize (Timer()+vuor*900)/900*17*3*7
Randomize Rand(12353245)
k=(Timer()) Mod 900/5
x=Rnd(-1,1)*320+320
y=Rnd(-1,1)*230+230
a=-GetAngle(x,y,320,230)
For i=1 To Min(k,90)
c=-Sin(Min(90,k-i))*127+128
Color c,c,c
Circle x+Cos(a)*(i),y+ Sin(a)*(i),40
Next i
Case 5
m=3
ClsColor cbblack
Randomize (Timer())/1800*17*3*7
Randomize Rand(12353245)
k=(Timer()) Mod 900/5
remstart
k=(Timer()) Mod 900/5
x=Rnd(-1,1)*320+320
y=Rnd(-1,1)*230+230
a=-GetAngle(x,y,320,230)
remend
For i=0 To m
par(i,0)=(Timer()+Rand(900)) Mod 900/5
par(i,1)=Rnd(-1,1)*320+320
par(i,2)=Rnd(-1,1)*230+230
par(i,3)=-GetAngle(par(i,1),par(i,2),320,230)
Next i
For i=1 To 90 Step 2
c=Sin(i-90)*127+128
For j=0 To m
If 1<90-k Then
'c=-Sin(Min(90,par(j,0)-i))*127+128
Color c,c,c
Circle par(j,1)+Cos(par(j,3))*(i),par(j,2)+ Sin(par(j,3))*(i),40
EndIf
Next j
Next i
Case 6
m=3
ClsColor cbblack
Randomize (Timer())/1800*17*3*7
Randomize Rand(12353245)
k=(Timer()) Mod 1800/5
remstart
k=(Timer()) Mod 1800/5
x=Rnd(-1,1)*320+320
y=Rnd(-1,1)*230+230
a=-GetAngle(x,y,320,230)
remend
For i=0 To m
par(i,0)=Rand(90)
par(i,1)=Rnd(-1,1)*320+320
par(i,2)=Rnd(-1,1)*230+230
par(i,3)=-GetAngle(par(i,1),par(i,2),320,230)+Rand(-10,10)+i*10
Next i
For i=1 To 90
c=Sin(i-90)*127+128
For j=0 To m
If i<par(j,0)+k-2*(k-90)*(k>90) Then
'c=-Sin(Min(90,par(j,0)-i))*127+128
Color c,c,c
Circle par(j,1)+Cos(par(j,3))*(i+k-par(j,0)),par(j,2)+ Sin(par(j,3))*(i+k-par(j,0)),40
EndIf
Next j
Next i
Case 7
m=3
ClsColor cbblack
Randomize Int(Timer()*1.5)/2700*17*3*7
Randomize Rand(12353245)
k=Int(Timer()*1.5) Mod 2700/5
remstart
k=(Timer()) Mod 1800/5
x=Rnd(-1,1)*320+320
y=Rnd(-1,1)*230+230
a=-GetAngle(x,y,320,230)
remend
For i=1 To m
par(i,0)=-Rand(90)
par(i,1)=Rnd(-1,1)
par(i,2)=Rnd(-1,1)
par(i,3)=-GetAngle(par(i,1),par(i,2),320,230)+Rand(-10,10)+i*10'+Rnd(-1,1)*(k/2-Rand(90))
Next i
For i=1 To 90 Step 2
c=Sin(i-90)*127+128
For j=1 To m
If i<par(j,0)+k-2*(k-180)*(k>90) Then
'c=-Sin(Min(90,par(j,0)-i))*127+128
Color c,c,c
p=-sin(i^1.12+k+par(j,0))*(20+i/5)'Sin(k^1.12-i^1.12+par(j,0)*4)*(90-i)
Circle par(j,1)+Cos(par(j,3))*(i+k+par(j,0))+Cos(par(j,3)+90)*p,par(j,2)+ Sin(par(j,3))*(i+k+par(j,0)-90)+Sin(par(j,3))*p,40
EndIf
Next j
Next i
Case 8
m=3
'ClsColor cbblack
Randomize (Timer())/1800/8*17*3*7
Randomize Rand(12353245)
k=(Timer()/8) Mod 900/5
remstart
k=(Timer()) Mod 900/5
x=Rnd(-1,1)*320+320
y=Rnd(-1,1)*230+230
a=-GetAngle(x,y,320,230)
remend
ki#=1
For i=1 To m
par(i,0)=(Timer()+Rand(900)) Mod 900/5
par(i,1)=Rnd(-1,1)*2+sin(timer()/4/3)*2'*320+320
par(i,2)=Rnd(-1,1)*2+sin(timer()/4/5)*2'*230+230
par(i,3)=-GetAngle(par(i,1),par(i,2),0,0)
par(i,5)=Rnd(2,6)
par(i,4)=atan(par(i,5)/Distance(par(i,1),par(i,2),0,0))
'If ki>par(i,4) Then ki=par(i,4)
ki=ki*Cos(par(i,4))^(1/par(i,5))
Next i
ki=(1-ki)^4*128
kic=ki Shl 16+ ki Shl 8+ki'(ki/16.0)^2
ClsColor 0,0,kic
Cls
a=Timer()
For i=1 To 90 Step 2
c=Sin(i-90)*127+128
For j=1 To m
'If i<90-k Then
'c=-Sin(Min(90,par(j,0)-i))*127+128
z#=par(j,5)+i*Sin(par(j,5))+Sin(a/11)*2
x=(par(j,1)*320+Cos(par(j,3))*(i)*Cos(par(j,4)))/z
y=(par(j,2)*230+ Sin(par(j,3))*(i)*Cos(par(j,4)))/z
Color c*Sin(par(j,4))+ki,c*Sin(par(j,4))+ki,(c/16.0)^2*Sin(par(j,4))+ki'(ki/16.0)^2'+kic
Circle (par(j,1)*320+Cos(par(j,3))*(i)*Cos(par(j,4)))/z+320-(180-i)/z,(par(j,2)*230+ Sin(par(j,3))*(i)*Cos(par(j,4)))/z+230-(180-i)/z,(180-i)/z*2
'EndIf
Next j
Next i
EndSelect
key=GetKey()
if key then efu=Int(chr(key))
SetWindow ""+FPS()+" koita vaan kaikkia numeroita"
DrawScreen
Forever
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: Efektit
Curl noise -kikkailua, pienoinen liekkiefekti. Ylös ja alas säätää spawnimäärää.
Code: Select all
Box 40, 140, 320, 20, OFF
DrawScreen
Randomize 3
Const noisew = 400
Const noiseh = 300
Dim noisepattern(noisew, noiseh) As Float
Dim prenoise(noisew-1, noiseh-1) As Float
Dim noise(noisew-1, noiseh-1, 1) As Float
Function getinterpnoise#(i, j)
ii# = Float(i/16.0)
jj# = Float(j/16.0)
aa# = noisepattern(RoundDown(ii#)+1, RoundDown(jj#))*(ii#-RoundDown(ii#))+noisepattern(RoundDown(ii#), RoundDown(jj#))*(1.0-(ii#-RoundDown(ii#)))
bb# = noisepattern(RoundDown(ii#)+1, RoundDown(jj#)+1)*(ii#-RoundDown(ii#))+noisepattern(RoundDown(ii#), RoundDown(jj#)+1)*(1.0-(ii#-RoundDown(ii#)))
Return bb#*(jj#-RoundDown(jj))+aa#*(1.0-(jj#-RoundDown(jj#)))
EndFunction
For i = 0 To noisew
For j = 0 To noiseh
noisepattern(i, j) = Rnd(-1.0, 1.0)
Next j
If i Mod 20 = 0 Then
Box 40, 140, 320, 20, OFF
Box 42, 142, 316*.333*i/float(noisew), 16
DrawScreen
EndIf
Next i
For i = 0 To noisew-1
For j = 0 To noiseh-1
prenoise(i, j) = getinterpnoise#(i, j)
Next j
If i Mod 20 = 0 Then
Box 40, 140, 320, 20, OFF
Box 42, 142, 316*.333*(1.0+i/float(noisew)), 16
DrawScreen
EndIf
Next i
For i = 1 To noisew-2
For j = 1 To noiseh-2
noise(i, j, 0) = (prenoise(i,j+1)-prenoise(i,j-1))*2.0
noise(i, j, 1) = (prenoise(i+1,j)-prenoise(i-1,j))*2.0
Next j
If i Mod 20 = 0 Then
Box 40, 140, 320, 20, OFF
Box 42, 142, 316*.333*(2.0+i/float(noisew)), 16
DrawScreen
EndIf
Next i
Dim parts(9999, 2) As Float
For i = 0 To 1999
parts(i,2)=-1.0
Next i
ptimer = Timer()
spawn = 4
Repeat
spawn = spawn + UpKey() - DownKey()
spawned = 0
ra = 0
Lock
For i = 0 To 9999
If parts(i,2)>0 Then
ra = ra + 1
parts(i,0) = parts(i,0)+noise(Int(parts(i, 0)), Int(parts(i, 1)), 0)
parts(i,1) = parts(i,1)-noise(Int(parts(i, 0)), Int(parts(i, 1)), 1)-.4
parts(i,2) = parts(i,2)-1.25
col = max(0, Min(255, parts(i,2)))
Color col, (col*.055)^2.0, 0
For x = parts(i,0)-2 to parts(i,0)+2
Line x, parts(i,1)-2, x, parts(i,1)+2
Next x
Else
If spawned<spawn Then
parts(i,0) = Rnd(80.0, 320.0)
parts(i,1) = Rnd(180.0, 200.0)
parts(i,2) = 255.0
spawned = spawned + 1
EndIf
EndIf
Next i
Unlock
Color 255, 255, 255
Text 10, 220, "fp"+"s is "+Str(FPS())
Text 10, 240, "rendering "+Str(ra)+" particles"
Text 10, 260, "spawning "+Str(spawn+1)+" per frame"
DrawScreen
Forever
Re: Efektit
Ikivanha räpellys.
Code: Select all
Type Particles
Field Particle_X As Float : Field Particle_Y As Float
Field Particle_PrevX As Float : Field Particle_PrevY As Float
Field Particle_ForceX As Float : Field Particle_ForceY As Float
Field Particle_W As Integer : Field Particle_H As Integer
EndType
Dim scalarX As Float, scalarY As Float
SCREEN 640, 480
img = LoadImage("Media\Map.BMP")
ResizeImage img, 640, 480
AddText "Hiiren vasemmalla näppäimellä kusinen efekti!"
Repeat
DrawImage img, 0, 0
If MouseDown(1) Then
For i = 0 To 24
size = Rand(10, 20)
Effect(MouseX(), MouseY(), size, size, Rand(360), 5)
Next i
EndIf
Update_Effects()
DrawScreen
Forever
Function Effect(x As Float, y As Float, w As Integer, h As Integer, ang As Float, speed As Float)
Particle.Particles = New (Particles)
Particle\Particle_X = x : Particle\Particle_Y = y
Particle\Particle_PrevX = x : Particle\Particle_PrevY = y
Particle\Particle_ForceX = Cos(ang) * speed
Particle\Particle_ForceY = - Sin(ang) * speed
Particle\Particle_W = w : Particle\Particle_H = h
End Function
Function Update_Effects()
For Particle.Particles = Each Particles
Particle\Particle_PrevX = Particle\Particle_X
Particle\Particle_X = Particle\Particle_X + Particle\Particle_ForceX
Particle\Particle_PrevY = Particle\Particle_Y
Particle\Particle_Y = Particle\Particle_Y + Particle\Particle_ForceY
CopyBox Int(Particle\Particle_PrevX) - Particle\Particle_W / 2, Int(Particle\Particle_PrevY) - Particle\Particle_H / 2, Int(Particle\Particle_W), Int(Particle\Particle_H), Int(Particle\Particle_X) - ScreenWidth()/2 - Particle\Particle_W /2, Int(Particle\Particle_Y) - ScreenHeight()/2 - Particle\Particle_H / 2
Particle\Particle_W = Particle\Particle_W - 1
Particle\Particle_H = Particle\Particle_H - 1
If (Particle\Particle_W * Particle\Particle_H) < 0 Then
Delete Particle
EndIf
Next Particle
End Function
Solar Eclipse
We're in a simulation, and God is trying to debug us.
-
- Tech Developer
- Posts: 650
- Joined: Mon Aug 27, 2007 9:51 pm
- Location: Helsinki, Finland
- Contact:
Re: Efektit
En tiedä täyttääkö tämä efektin tunnusmerkit, mutta laitetaan nyt kuitenkin tänne.
Hiiri + WASD ohjaa.
Hiiri + WASD ohjaa.
Code: Select all
SAFEEXIT OFF
FrameLimit 40
SCREEN 640, 480, 32, 1
kartta = LoadMap("Media\cdm2.til","Media\tileset.bmp")
ObjectPickable kartta, ON
hahmo = MakeObject()
ObjectRange hahmo, 20
SetupCollision hahmo, kartta, 2, 4, 2
ShowMouse OFF
poimintoja = 75
Repeat
poimintoja = Max(1, Min(poimintoja + MouseMoveZ(), 720))
PointObjectToMouse(hahmo)
MoveObject hahmo, 3*(KeyDown(cbKeyW)-KeyDown(cbKeyS)), 3*(KeyDown(cbKeyD)-KeyDown(cbKeyA))
UpdateGame
CloneCameraPosition hahmo
DrawGame
Color 0, 0, 0
Box 0, 0, 1024, 600, ON
Color 255, 0, 0
DrawToWorld ON
a# = ObjectAngle(hahmo) + Timer()/150.0
For i = 1 To poimintoja
RotateObject hahmo, a + i * 360.0/Float(poimintoja)
ObjectPick hahmo
//Line ObjectX(hahmo), ObjectY(hahmo), PickedX(), PickedY()
Dot PickedX(), PickedY()
Next i
Color 0, 255, 0
Dot MouseWX(), MouseWY()
Color 0, 0, 255
Dot ObjectX(hahmo), ObjectY(hahmo)
DrawToWorld OFF
Color 255, 255, 255
Text 5, 5, Str(FPS()) + " FPS"
Text 5, 20, "poimintoja: " + poimintoja
DrawScreen ON, ON
Until EscapeKey()
//© Bagard (R.I.P.)
Function PointObjectToMouse(ob)
RotateObject ob, -GetAngle(ObjectX(ob), ObjectY(ob), MouseWX(), MouseWY())
EndFunction
CoolBasic henkilökuntaa
Tech-kehittäjä
CoolBasic Classic, Cool VES
CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
Tech-kehittäjä
CoolBasic Classic, Cool VES
CoolPhysicsEngine | MissileSystem | Jana-ympyrä -törmäys | cbSimpleTexture | CoolCPLX
Re: Efektit
On se hieno, mutta Imo tuo olisi paremi skaalattuna pienemmäksi radariin.
Otinpa heti omankäden oikeuden ja muokkasin koodia.
Otinpa heti omankäden oikeuden ja muokkasin koodia.
Code: Select all
SAFEEXIT OFF
FrameLimit 40
SCREEN 640, 480, 32, 1
kartta = LoadMap("Media\cdm2.til","Media\tileset.bmp")
ObjectPickable kartta, ON
hahmo = MakeObject()
ObjectRange hahmo, 20
SetupCollision hahmo, kartta, 2, 4, 2
ShowMouse OFF
poimintoja = 75
Repeat
poimintoja = Max(1, Min(poimintoja + MouseMoveZ(), 720))
PointObjectToMouse(hahmo)
MoveObject hahmo, 3*(KeyDown(cbKeyW)-KeyDown(cbKeyS)), 3*(KeyDown(cbKeyD)-KeyDown(cbKeyA))
UpdateGame
CloneCameraPosition hahmo
DrawGame
Color 0, 0, 0
Box 0, 0, 1024, 600, ON
Color 255, 0, 0
DrawToWorld ON
a# = ObjectAngle(hahmo) + Timer()/150.0
For i = 1 To poimintoja
oldx = x
oldy = y
RotateObject hahmo, a + i * 360.0/Float(poimintoja)
ObjectPick hahmo
//Line ObjectX(hahmo), ObjectY(hahmo), PickedX(), PickedY()
x = PickedX() : y = PickedY()
Line oldx, oldy, x, y
Next i
Color 0, 255, 0
Dot MouseWX(), MouseWY()
Color 0, 0, 255
Dot ObjectX(hahmo), ObjectY(hahmo)
DrawToWorld OFF
Color 255, 255, 255
Text 5, 5, Str(FPS()) + " FPS"
Text 5, 20, "poimintoja: " + poimintoja
DrawScreen ON, ON
Until EscapeKey()
//© Bagard (R.I.P.)
Function PointObjectToMouse(ob)
RotateObject ob, -GetAngle(ObjectX(ob), ObjectY(ob), MouseWX(), MouseWY())
EndFunction
Solar Eclipse
We're in a simulation, and God is trying to debug us.
-
- Advanced Member
- Posts: 485
- Joined: Tue Aug 28, 2007 3:53 pm
- Location: Suomi, Finland
- Contact:
Re: Efektit
Joo, jossain ketjun uumenissa mun wanha tutka-efekti löytyykin, joka käyttää täysin samaa periaatetta. Tuolla on kyllä hauska leikkiä.
Re: Efektit
Piirtää hienon kuvion
Muokkaa (xn) arvoa -100000-100000 saadaksesi erilaisia kuvioita
Muokkaa (xn) arvoa -100000-100000 saadaksesi erilaisia kuvioita
Code: Select all
SCREEN 1000,1000
xn=-100
DrawToWorld ON
c=1300 'Vaihda väritystä :D
ClsColor cborange
For y=1 To 1000
For i=1 To 1000
xn+1 = xn^2 + c
Color 0+c,xn/2,3*xn
Dot xn/i,y
Dot (xn-xn-xn)/i,y
luku=xn/i
Dot y,xn/i
Dot y-y-y,xn/i
Dot y,luku-luku-luku
Dot y-y-y,luku-luku-luku
Dot luku-luku-luku,y-y-y
Dot luku,y-y-y
Next i
Next y
Repeat
DrawScreen OFF
Forever
Last edited by mkn on Tue Jan 11, 2011 5:50 pm, edited 1 time in total.
"I'd love to change the world, but they won't give me the source code." - Anonymous
Re: Efektit
Ihan nätti, paitsi "kunnon" koodaajat ei yleensä päästä väriarvojen menemään RGB värityksellä yli 255. Tuo kuvio vaikuttaa jonkinsortin fraktaalilta.
Last edited by MaGetzUb on Tue Jan 11, 2011 3:46 pm, edited 1 time in total.
Solar Eclipse
We're in a simulation, and God is trying to debug us.
Re: Efektit
Se on fraktaali
"I'd love to change the world, but they won't give me the source code." - Anonymous
Re: Efektit
Onko tuolla nimikin?
Tuli tehtyä tämmöne:
Tuli tehtyä tämmöne:
Code: Select all
Const SW = 80
Const SH = 60
Const GW = 1
Const GH = 1
SCREEN SW, SH, 32, 2
Repeat
A# = A# + 0.5
Lock
For i = 0 To SW / GW
For j = 0 To SH / GH
'Color 0, 127 + Sin((a+(i*Sin(a+j+120))+(j*Cos(a+i+120))) * 5 + 120) * 127, 127*3+(127 + Sin((a+(i*Sin(a+j+240))+(j*Cos(a+i+240))) * 5 + 240) * 127)/2
r# = 127 + Sin((a+(i*Sin(a+j))+(j*Cos(a+i))) * 5) * 127
g# = 127 + Sin((a+(i*Sin(a+j+120))+(j*Cos(a+i+120))) * 5 + 120) * 127
b# = 127 + Sin((a+(i*Sin(a+j+240))+(j*Cos(a+i+240))) * 5 + 240) * 127
Color r, g, b
For g = 0 To GH
Line i*GW, j*GH+g, i*GW+GW, j*GH+g
Next g
Next j
Next i
Unlock
DrawScreen
Forever
Last edited by MaGetzUb on Wed Jan 12, 2011 2:26 pm, edited 1 time in total.
Solar Eclipse
We're in a simulation, and God is trying to debug us.
Re: Efektit
Oikein hieno ja nopeakin. Mutta mikä on tuo d joka ei tee yhtään mitään?
Re: Efektit
Ettäkun aina unohtuu noita testihommia tuonne koodiin. Tein tuolla D:ä yhden 3D jutskan joka ei ollut hyvän näköinen.Ruuttu wrote:Oikein hieno ja nopeakin. Mutta mikä on tuo d joka ei tee yhtään mitään?
Solar Eclipse
We're in a simulation, and God is trying to debug us.
Re: Efektit
Jeah komeahan tuo on! Minun silmään näytti kyllä enemmän plasmalta kuin fraktaalilta. Niin ja kun ilmeisesti taitoa löytyy niin mikäs estää osallistumasta introkisaankin, pari plasmaa ja tähtitaivas peräkkäin musalla varustettuna niin onkin käsissä jo ihan valmis tuotosMaGetzUb wrote:Onko tuolla nimikin?
Tuli tehtyä tämmöne:Code: Select all
Const SW = 80 Const SH = 60 Const GW = 1 Const GH = 1 SCREEN SW, SH, 32, 2 Repeat A# = A# + 0.5 Lock For i = 0 To SW / GW For j = 0 To SH / GH 'Color 0, 127 + Sin((a+(i*Sin(a+j+120))+(j*Cos(a+i+120))) * 5 + 120) * 127, 127*3+(127 + Sin((a+(i*Sin(a+j+240))+(j*Cos(a+i+240))) * 5 + 240) * 127)/2 r# = 127 + Sin((a+(i*Sin(a+j))+(j*Cos(a+i))) * 5) * 127 g# = 127 + Sin((a+(i*Sin(a+j+120))+(j*Cos(a+i+120))) * 5 + 120) * 127 b# = 127 + Sin((a+(i*Sin(a+j+240))+(j*Cos(a+i+240))) * 5 + 240) * 127 Color r, g, b For g = 0 To GH Line i*GW, j*GH+g, i*GW+GW, j*GH+g Next g Next j Next i Unlock DrawScreen Forever
Re: Efektit
Enhän maininnutkaan että omani olisi fraktaali.
Ottakaa muuten huomioon tuo resoluutio mitä ohjelmani käyttää, se on todella pieni.
Ottakaa muuten huomioon tuo resoluutio mitä ohjelmani käyttää, se on todella pieni.
Solar Eclipse
We're in a simulation, and God is trying to debug us.
Re: Efektit
MaGetzUb, enpä ole vähään aikaan nähnyt yhtä hienoa efektiä. Osasyynä voi olla sekin, etten ole kaikkia testannut ja niitä muutenkin tulee harvakseltaan, mutta tuo oli joka tapauksessa älyttömän siisti.
Re: Efektit
Worms tyylinen vesi:
Code: Select all
img_wfill = MakeImage(2, 180)
DrawToImage img_wfill
Color 0, 0, 255
Line 0, 0, 0, 180
Line 1, 0, 1, 180
For j = 0 To 20
Color 128 - Max(0, 128 / 20 * j), 200 - Max(0, 200 / 20 * j), 255
Dot 0, j
Dot 1, j
Next j
DrawToScreen
Repeat
SetWindow ""+FPS()
a = a + 3
i = 0
While i < ScreenWidth()
DrawImage img_wfill, i, 180+Sin(a+i*2)*10*Sin(a+i*5)
i = i + ImageWidth(img_wfill)
Wend
DrawScreen
Forever
Solar Eclipse
We're in a simulation, and God is trying to debug us.
Re: Efektit
sini ja kosini kokeilujen tulos
a ja b muuttujia voi vaihtaa mutta 1-10 tulee tuollaisia kuvioita muilla(esim 1-100)
tulee kompassin tyyppisiä kuvioita
kommentoikaa!
a ja b muuttujia voi vaihtaa mutta 1-10 tulee tuollaisia kuvioita muilla(esim 1-100)
tulee kompassin tyyppisiä kuvioita
kommentoikaa!
Code: Select all
a=Rand(1,10) 'näitä voi muuttaa
b=Rand(1,10)
///////////////////////////
For i=0 To 360
x=200+Cos(i*a)*50 'ei ole pakko kertoa i-muuttujaa jos sitä ei kerro tulee ympyränmuotoisen latauspalkin näköinen
y=150+Sin(i*b)*50
x2=200+Cos(i)*70 'kokeile mitä tapahtuu jos kerrot nämä
y2=150+Sin(i)*70
Line x,y,x2,y2
DrawScreen OFF 'piirretään ruutu mutta ei poisteta edellistä
Next i
For i=0 To 360
x=200+Cos(i*a)*50
y=150+Sin(i*b)*50
x2=200+Cos(i)*70
y2=150+Sin(i)*70
Color cbblack
Line x,y,x2,y2
DrawScreen OFF 'piirretään ruutu mutta ei poisteta edellistä
Next i
WaitKey