Hirdetés
- Geri Bátyó: Agglegénykonyha különkiadás 2 – Kajás poénok
- gban: Ingyen kellene, de tegnapra
- Doky586: SecureBoot kulcsok frissítése (2026 nyara)
- GoodSpeed: Daikin FTXF35E / RXF35F Sensira 3,3 kW Inverteres klíma - a Sztori
- aquark: Zsebszámológépek
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Brogyi: CTEK akkumulátor töltő és másolatai
- Andras-G: Az internet veszélyei [2. rész] - Facebook Marketpalce
- MasterDeeJay: Mi ez a pici videókártya? AMD E9173 teszt
Új hozzászólás Aktív témák
-
Kutyauto
csendes tag
válasz
thiclyoon
#5454
üzenetére
Hát én tényleg csak kezdő vagyok ebben a rendszerben, nem egy mutatni való minőségű kód ez. Mindent kipróbálok ami szembe jön, aztán ha már megtaláltam, kitököltem akkor sem törlöm ki ha mégsem akarom használni, csak kikommentelem. (Mint pittyegés, wav lejátszás, rezegtetés meg effélék) Szóval katyvasz még.
A lényeg, hogy van egy fragmentem, abban egy frame layout.
Ebbe a layoutba futás idő alatt kóddal helyezek el egy csomó egyforma ImageView objektumot. A végeredmény úgy néz ki kb. mint egy sakk tábla.
Minden ImageView ugyanazt a timer kódot futtatja kattintáskor. Mindenféle kiértékelések , és akár hat elemen is animációk futtatódnak. Ennek mind le kéne mennie és a köv. kattintásnak csak ezek után kéne lehetővé válnia. Leegyszerűsítve, áttekinthetősítve ilyen volna:var Clickable:Int = 1 // segéd változó ez jelzi, hogy kattinthatók-e éppen az elemek.
var AnimCount = 0 // segéd változó amiből az utoljára befejeződő animációnak látnia kéne, // hogy a Clickable-t neki kell visszaállítania 1-re.
var ViewList: MutableList<View> = mutableListOf<View>()
// segéd lista amit kezelgetek - a gépi válaszlépés használja.
var GuestTheNext:Int =1 //ki lép következőre ?/*ImageView click kód*/
ImageView.onClickListener{
if (Clickable==1){
onClick()
} // onClickListener vége
}fun onClick()
{
Clickable = 0
/* itt vannak még egyéb dolgok, változókat állítok, képeket cserélek vezérléseken, ilyesmik*/
click_timer.start() // itt indulna egy timer, ami kis időt ad a usernek érzékelni a képernyőn //történt változást, majd értékel és visszaállítja a képernyőt várva a köv. //lépést.
}
/*ImageView click kód vége*/
/* timer kód*/
val click_timer = object : CountDownTimer(500, 500) {
override fun onTick(millisUntilFinished: Long) {}
override fun onFinish() {
/*animáció meghívása két adott objektumra*/
Remanim(ActiveView1)
Remanim(ActiveView2)
/* ... itt egy csomó egyéb művelet, elágazás stb.*/
/*animáció meghívása további objektumokra*/
Remanim(fw_binding!!.imageViewB)
Remanim(fw_binding!!.imageViewC)
Remanim(fw_binding!!.imageViewJ)
} //OnFinish vége
} /*timer kód vége*//*Az animáció*/
fun Remanim(view: View) {
view.animate()
.setDuration(500)
.rotation(360f)
.translationY(0f)
.alpha(0.0f)
.setListener(object : AnimatorListenerAdapter() {
override fun onAnimationStart(animation: Animator?) {
super.onAnimationStart(animation)
AnimCount++
}
override fun onAnimationEnd(animation: Animator) {
super.onAnimationEnd(animation)
/* itt vannak még dolgok, pontszám kiírása ilyesmik*/
if (AnimCount <= 1) {Clickable = 1}
AnimCount--
view.visibility = View.INVISIBLE
ViewList.remove(view)
if (GuestTheNext == 1) GuestTheNext= 0 else GuestTheNext= 1 //játékost cserél
if (GuestTheNext==1){
guest_timer.start() // itt hívódna a vendég játékos, illetve a gépi válasz lépése. tulképp ő is az // onClick() függvényt fogja hívni, csak másik View paraméterrel.
}
}
})
Lényegében a változókkal variálás nélkül simán szét lehet kattintani a képernyőt míg a timer meg az animációk futnak. Végső soron ezzel a variálással sem tökéletes.
Ha elég vadul tapizom a képernyőt akkor szétesik a kód, kétszer egymás után is ugyanaz a játékos tud lépni.
Új hozzászólás Aktív témák
- Geri Bátyó: Agglegénykonyha különkiadás 2 – Kajás poénok
- Mesterséges intelligencia topik
- Kertészet, mezőgazdaság topik
- Fejhallgató erősítő és DAC topik
- gban: Ingyen kellene, de tegnapra
- Revolut
- Pedzegeti az új Xbox irányát a Microsoft
- Autós kamerák
- Doky586: SecureBoot kulcsok frissítése (2026 nyara)
- Házimozi haladó szinten
- További aktív témák...
- iKing.Hu - Apple iPhone 13 Pro Max Graphite ProMotion 120 Hz, Pro kamerák 256 GB-100%-3 hó gari!
- új NAGYakku!!! 6-10óra üzemidő, 5G! Dell Latitude 5330 i3-1215U - 16GB 512GB 13.3" FHD 1 év gar
- Apple iPhone 15 Pro Max 256GB,Újszerű,Dobozaval,12 hónap garanciával
- HIBÁTLAN iPhone 14 Pro Max 256GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4370
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
