Re: Efektit
Ei mikään simppeli homma näin äkkiseltään ole ruveta noita rattaita fillaamaan värillä. Mutta kaikista keskimmäisen osanhan voisi täyttää Circlellä ja sitten hampaat voisi täyttää TrifillerilläWingman wrote:vielä kun saisit rattaiden sisäosat kokonaan mustiksi niin olisi hyvä, nyt rattaat näkyvät toistensa takaaKille wrote:Teinpä tällaisen ratasfunktion, jolla siis piirretään hammasrattaita. Tässä olisi funktio+esimerkki. Saa käyttää!joo ja on huonosti sisennettyCode: Select all
//RATASEFEKTI by Ville "Kille" Valtiala //saa käyttää vapaasti //Funktio + esimerkki FrameLimit 40 SCREEN 400,300,0,1 Global sw Global sh sw=ScreenWidth() sh=ScreenHeight() Global kulma As Float kulma=0 ClsColor 0,0,0 Repeat maassa=0 Tormays=0 Color 50,50,50 gear(0,0,16,150,200,3,kulma/2) gear(0+(Sin(45)*350),0+(Sin(45)*350),16,150,200,3,-1*kulma/2) gear(0-(Sin(45)*350),0+(Sin(45)*350),16,150,200,3,-1*kulma/2) gear(0+(Sin(45)*350),0-(Sin(45)*350),16,150,200,3,-1*kulma/2) gear(0-(Sin(45)*350),0-(Sin(45)*350),16,150,200,3,-1*kulma/2) Color 100,100,100 gear(-100,-100,7,20,25,3,kulma*4) gear(-100,-145,7,20,25,3,-1*kulma*4+22) gear(-100+(Sin(45)*45),-100+(Sin(45)*45) ,7,20,25,3,-1*kulma*4+12) Color 200,200,200 tormays=tormays+gear(0,0,8,40,60,3,kulma) tormays=tormays+gear(100,0,8,40,60,3,-1*kulma) tormays=tormays+gear(0,100,8,40,60,3,-1*kulma) Text 1,1,FPS() DrawScreen ClearText kulma=kulma+1 If kulma>359 Then kulma=0 Forever //Funktio: //käyttö: gear(x, y, hampaiden määrä, sisäkehän säde, ulkokehän säde, hampaiden sivujen kulma, rattaan kulma) Function gear(x,y,hammas#,minrad,maxrad,pres,ang#) x=x+sw/2 y=y+sh/2 hammas=hammas*2 hammasväli#=360.00/hammas For i=1 To hammas-1 Step 2 tormays=0 Line Sin(ang-hammasväli*i)*minrad+x,Cos(ang-hammasväli*i)*minrad+y,Sin(ang-hammasväli*i+pres)*maxrad+x,Cos(ang-hammasväli*i+pres)*maxrad+y Line Sin(ang-hammasväli*i)*minrad+x,Cos(ang-hammasväli*i)*minrad+y,Sin(ang-hammasväli*i-hammasväli)*minrad+x,Cos(ang-hammasväli*i-hammasväli)*minrad+y Next i For i=2 To hammas Step 2 Line Sin(ang-hammasväli*i)*minrad+x,Cos(ang-hammasväli*i)*minrad+y,Sin(ang-hammasväli*i-pres)*maxrad+x,Cos(ang-hammasväli*i-pres)*maxrad+y Line Sin(ang-hammasväli*i-pres)*maxrad+x,Cos(ang-hammasväli*i-pres)*maxrad+y,Sin(ang-hammasväli*i-hammasväli+pres)*maxrad+x,Cos(ang-hammasväli*i-hammasväli+pres)*maxrad+y Next i End Function