Bloggeri templated võiks paremad olla. Näiteks on minu omal suht nõme footer, mis lühikese postituse korral keset ekraani vahib. Alati all oleks palju ilusam, tegelikult saaks ma selle viie minutiga ära muuta, aga ei taha. Parem kirjutan sellest oma blogis.
Programmeerin hetkel True Fliesi ja tuleb taaskord nentida, et programmeerimine ei ole mu lemmiktegevus. Või noh, kindlasti meeldib see mulle rohkem kui ehitada või olla müügijuht või üksikisa, aga ainult arhitektuuri ning disainiga meeldiks palju rohkem tegeleda. Aga mis sa teed, blokaadiajal söödi püksirihmad ja vahel ka teised inimesed ära, mis see uute keelte õppimine siis ära ei ole - #EsimeseMaailmaMure.
Katsun selle nädala jooksul True Fliesi kogu mänguloogika paikka saada ning enda poolt valminuks lugeda. Edasi ei teagi, mis serveriosast saab. Kui keegi peaks juhtuma seda blogi lugema ning tunneb asja vastu huvi, siis võiks kindlasti midagi välja mõelda.
Täna tegin lõpliku keele liikumise ära. Põhimõtteliselt on kõige lihtsamad lahendused alati parimad, sest viimases versioonis olev funktsioon on pea neli korda lühem kui esialgne. All olev kood liigutab karakteri keelt. Esimene event aktiveerub kui nutitelefonil näpp karakteri keelele panna ning seda tõmmates liigub kuhu vaja, teine event hoiab keelt paigal kuni näpp on ekraanil ning kolmas tõmbab keele tagasi karakteri suhu. Viimane osa võiks ka dünaamiline olla, aga kuna karakterit ennast liigutada ei saa, siis on täpsete numbritega algpunkt lihtsam.
function dragTongue(event)
if event.phase == "began" then
moveX = event.x - charTongue.x
moveY = event.y - charTongue.y
elseif event.phase == "moved" then
charTongue.x = event.x - moveX
charTongue.y = event.y - moveY
elseif event.phase == "ended" then
charTongue.x = 240
charTongue.y = 250
end
Järgmisena panen pool randomiga itemid langema ning lisan osadele sitikatele nn. Browni liikumise. Õnneks on mul kunagi juba taoline asi ka tehtud, aga ActioScriptis (idee raamatust Game Design with Flash). Lua-s võiks olla midagi sellist:
function bugBrownies()
//Browni liikumine
bug.vx += (Math.random() * 0.2 - 0.1) * 15
bug.vy += (Math.random() * 0.2 -0.1 ) * 15
//h66rdumine
bug.vx *= 0.95
bug.vy *= 0.95
//liikumine
bug.x += bug.vx
bug.y += bug.vy
//ekraani ääred
if (bug.x > stage.stageWidth)
bug.x = stage.stageWidth
bug.vx *= -1
end
if (bug.x < 0)
bug.x = 0
bug.vx *= -1
end
//sitikate AI, et nad kiiremini põgeneks kui keel lähedale jõuab
if ((Math.abs(bug.x - charTongue.x) < 30))
if (Math.abs(bug.y - charTongue.y) < 30)
bug.vy += charTongue.vy + ((Math.random() * 0.2 - 0.1) * 30)
bug.vx += charTongue.vx + ((Math.random() * 0.2 - 0.1) * 30)
end
end
end
Kommentaare ei ole:
Postita kommentaar