Kun tuolta kopioin tuon ragdollimallin niin cb pistää sen yhdelle riville(kaikki).
Ei oikein huvittaisi alkaa rivi kerrallaan kopioimaan,miten ratkaisen ongelman.
Tosi tyhmä kysymys
Tosi tyhmä kysymys
Valmiita:
Ragdollvoimistelua
Työn alla:
Rägdollitappelu jolle ei vielä nimeä löydy.
Valmiina:
Ei paljon mitään
Tulossa:
Kakkosplayeri, muutama ase,Bullet time,kenttiä
Ragdollvoimistelua
Työn alla:
Rägdollitappelu jolle ei vielä nimeä löydy.
Valmiina:
Ei paljon mitään
Tulossa:
Kakkosplayeri, muutama ase,Bullet time,kenttiä
Re: Tosi tyhmä kysymys
Käytä firefoxia. IE heittää ne yhdelle riville. Toinen vaihtoehto oli muistaakseni kopioida koodi ensin johonkin wordpadiin tms, ja sieltä cb:hen.
Re: Tosi tyhmä kysymys
Ei ole firefoxia.Ja pistin tekstitiedostoon,se pisti ne kaikki neljään riviin;)
Ei toimi worpadikaan
Ei toimi worpadikaan
Valmiita:
Ragdollvoimistelua
Työn alla:
Rägdollitappelu jolle ei vielä nimeä löydy.
Valmiina:
Ei paljon mitään
Tulossa:
Kakkosplayeri, muutama ase,Bullet time,kenttiä
Ragdollvoimistelua
Työn alla:
Rägdollitappelu jolle ei vielä nimeä löydy.
Valmiina:
Ei paljon mitään
Tulossa:
Kakkosplayeri, muutama ase,Bullet time,kenttiä
Re: Tosi tyhmä kysymys
Tässä:
Code: Select all
SCREEN 800,600,0,1
// ihminen koostuu (tässä tapauksessa) yhdestätoista pisteestä, joilla jokaisella
// on nykyinen ja edellinen sijainti xy - tasolla.
// Ideana on pitää jokainen piste vakioetäisyydellä määritellyistä pisteistä, jolloin ne käyttäytyvät realisisen oloisesti
Dim xPosition(11) As Float
Dim yPosition(11) As Float
Dim previousXposition(11) As Float
Dim previousYposition(11) As Float
Const PAINOVOIMA = -0.05 // painovoima ( negatiivinen = alaspäin, positiivinen = ylöspäin)
Const ACCURACY = 5 // tarkkuus (mitä suurempi luku, sitä tarkempi, 1=minimi)
resetDoll()
Repeat
Box 150,50,500,500,0
Text 200,20,"LMB = drag left leg"
Text 400,20,"RMB = drag head"
Text 320,570,"R = reset doll"
If MouseDown(1) Then
xPosition(1) = MouseWX()
yPosition(1) = MouseWY()
ElseIf MouseDown(2) Then
xPosition(7) = MouseWX()
yPosition(7) = MouseWY()
EndIf
If KeyHit(19) Then resetDoll()
// lasketaan fysiikat
simulate()
// piirretään pää "suunnilleen" oikealle paikalle
kulma = GetAngle(xPosition(6),yPosition(6),xPosition(7),yPosition(7))
Circle ScreenWidth()/2+Cos(kulma)*20+xPosition(7),ScreenHeight()/2-(Sin(kulma+180)*20+yPosition(7)),20,0
DrawScreen
Forever
Function Simulate()
// lasketaan jokaiselle pisteelle uusi sijainti
For i=1 To 11
calculateNewXposition(i)
calculateNewYposition(i)
Next i
// pisteet siirretään ACCURACY:n mukaan joko kerran tai useita kertoja vakioetäisyydelle toisistaan
For i=1 To ACCURACY
// parametrit = ensimmäisen pisteen sijainti taulukossa, toisen pisteen sijainti taulukossa, pidettävä välimatka
sustainDistance(1,2,25)
sustainDistance(2,3,25)
sustainDistance(3,4,25)
sustainDistance(4,5,25)
sustainDistance(3,6,25)
sustainDistance(6,7,25)
sustainDistance(7,8,25)
sustainDistance(8,9,25)
sustainDistance(7,10,25)
sustainDistance(10,11,25)
// pisteet eivät saa ylittää pelikenttää
For j=1 To 11
xPosition(j) = Min(Max(-250,xPosition(j)),250)
yPosition(j) = Min(Max(-250,yPosition(j)),250)
Next j
Next i
//piirretään viivat
drawLine(1,2)
drawLine(2,3)
drawLine(3,4)
drawLine(4,5)
drawLine(3,6)
drawLine(6,7)
drawLine(7,8)
drawLine(8,9)
drawLine(7,10)
drawLine(10,11)
EndFunction
Function calculateNewXposition(pointNumber)
temp# = xPosition(pointNumber)
xPosition(pointNumber) = 2*xPosition(pointNumber) - previousXposition(pointNumber) // + kiihtyvyys X-suunnassa
previousXposition(pointNumber) = temp#
EndFunction
Function calculateNewYposition(pointNumber)
temp# = yPosition(pointNumber)
yPosition(pointNumber) = 2*yPosition(pointNumber) - previousYposition(pointNumber) + PAINOVOIMA // * PAINOVOIMAn tilalle voi sijoittaa minkä tahansa Y-suuntaisen kiihtyvyyden
previousYposition(pointNumber) = temp#
EndFunction
Function sustainDistance(firstPoint, secondPoint, distanceToSustain#)
xDistance# = (xPosition(firstPoint) - xPosition(secondPoint))
yDistance# = (yPosition(firstPoint) - yPosition(secondPoint))
currentDistance# = Sqrt(xDistance#^2+yDistance#^2)
multiplier# = (currentDistance#-distanceToSustain#)/currentDistance#
xPosition(firstPoint) = xPosition(firstPoint) - xDistance#*0.5*multiplier#
yPosition(firstPoint) = yPosition(firstPoint) - yDistance#*0.5*multiplier#
xPosition(secondPoint) = xPosition(secondPoint) + xDistance#*0.5*multiplier#
yPosition(secondPoint) = yPosition(secondPoint) + yDistance#*0.5*multiplier#
EndFunction
Function drawLine(firstPoint, secondPoint)
Line xPosition(firstPoint)+ScreenWidth()/2,ScreenHeight()/2-yPosition(firstPoint),xPosition(secondPoint)+ScreenWidth()/2,ScreenHeight()/2-yPosition(secondPoint)
EndFunction
Function resetDoll()
xPosition(1) = -50
yPosition(1) = -50
previousXposition(1) = -50
previousYposition(1) = -50
xPosition(2) = -25
yPosition(2) = -50
previousXposition(2) = -25
previousYposition(2) = -50
xPosition(3) = 0
yPosition(3) = -50
previousXposition(3) = 0
previousYposition(3) = -50
xPosition(4) = 25
yPosition(4) = -50
previousXposition(4) = 25
previousYposition(4) = -50
xPosition(5) = 50
yPosition(5) = -50
previousXposition(5) = 50
previousYposition(5) = -50
xPosition(6) = 0
yPosition(6) = -25
previousXposition(6) = 0
previousYposition(6) = -25
xPosition(7) = 0
yPosition(7) = 0
previousXposition(7) = 0
previousYposition(7) = 0
xPosition(8) = -25
yPosition(8) = 0
previousXposition(6) = -25
previousYposition(6) = 0
xPosition(9) = -50
yPosition(9) = 0
previousXposition(9) = -50
previousYposition(9) = 0
xPosition(10) = 25
yPosition(10) = 0
previousXposition(10) = 25
previousYposition(10) = 0
xPosition(11) = 50
yPosition(11) = 0
previousXposition(11) = 50
previousYposition(11) = 0
EndFunction
Re: Tosi tyhmä kysymys
Lataa!! http://www.mozilla-europe.org/fi/ <----- TUOLTAAllAh wrote:Ei ole firefoxia
Re: Tosi tyhmä kysymys
Kiitti astigma.Testasin copypastella tähän viestiin ja se toimi.Ja en ole Mozillaa tälle koneelle lataamassa,ehkä omalle.Isän koneella