Diskuze: SmallBasic ovladání na klavesnici

					Člen				
			
Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>


y = 10
GraphicsWindow.KeyDown = key_down
Sub key_down
  last = GraphicsWindow.LastKey
  If (last = "Down") Then
    y = y + 1
    GraphicsWindow.DrawRectangle(10, y, 10, 1)
  EndIf
EndSubMně funguje, nepřekresluješ ten čtverec, zkus dát celej kód 
dimension object
dimX = 50
dimY = 50
'position object
posX = 10
posY = 10
'controls keyborad
Sub OnKeyDown
  If GraphicsWindow.LastKey = "Up" Then
    posY = posY - 1
    GraphicsWindow.DrawRectangle(posX, posY,dimX, dimY)
    ElseIf GraphicsWindow.LastKey = "Down" Then
    posY = posY + 1
    GraphicsWindow.DrawRectangle(posX, posY, dimX, dimY)
    EndIf
  EndSub
  'end controls keyboardCtverec se mi pohybuje ale, jak udelat aby nebyl zaním ten cerny pruh? Dělam něco spatne? Díky
A co třeba před každým novým vykreslenim toho čtverce vyčistit plátno (proste ho třeba cely prebarvit bílou..)
 
						Sice ho vykresluješ na novou pozici, ale nemažeš starou, pokud jsem to správně pochopil.
dimX = 50
dimY = 50
posX = 10
posY = 10
GraphicsWindow.KeyDown = OnKeyDown
Sub OnKeyDown
  If GraphicsWindow.LastKey = "Up" Then
    smaz_starou()
    posY = posY - 1
    GraphicsWindow.FillRectangle(posX, posY,dimX, dimY)
  ElseIf GraphicsWindow.LastKey = "Down" Then
    smaz_starou()
    posY = posY + 1
    GraphicsWindow.FillRectangle(posX, posY, dimX, dimY)
  ElseIf GraphicsWindow.LastKey = "Right" Then
    smaz_starou()
    posX = posX + 1
    GraphicsWindow.FillRectangle(posX, posY, dimX, dimY)
  ElseIf GraphicsWindow.LastKey = "Left" Then
    smaz_starou()
    posX = posX - 1
    GraphicsWindow.FillRectangle(posX, posY, dimX, dimY)
  EndIf
EndSub
Sub smaz_starou
  GraphicsWindow.BrushColor = GraphicsWindow.BackgroundColor
  GraphicsWindow.PenColor = GraphicsWindow.BackgroundColor
  GraphicsWindow.FillRectangle(posX, posY, dimX, dimY)
  GraphicsWindow.PenColor = "Black"
  GraphicsWindow.BrushColor = "Black"
EndSubDíky moc všem co mi chtěli pomoci už to vykresluje a funguje tak jak mí
díky moc VŠEM!!  
 
Tady je moje cele řešení Díky moc!! 
Sub OnKeyDown
  If GraphicsWindow.LastKey = "Up" Then
    posY = posY - 1
    GraphicsWindow.Clear()
    GraphicsWindow.DrawRectangle(posX, posY,dimX, dimY)
    ElseIf GraphicsWindow.LastKey = "Down" Then
      posY = posY + 1
      GraphicsWindow.Clear()
    GraphicsWindow.DrawRectangle(posX, posY, dimX, dimY)
      ElseIf GraphicsWindow.LastKey = "Right" Then
        posX = posX + 1
        GraphicsWindow.Clear()
    GraphicsWindow.DrawRectangle(posX, posY, dimX, dimY)
    ElseIf GraphicsWindow.LastKey = "Left" Then
      posX = posX - 1
      GraphicsWindow.Clear()
    GraphicsWindow.DrawRectangle(posX, posY, dimX, dimY)
    EndIf
  EndSub
  'end controls keyboardJa už včera večer jsem začal, až dnes jsem to konečně... myslel jsem
to správně, ale blbá chyba... vykreslení jsem měl uplně někde jinde a to
clear to jsem dal, až mi to poradil po druhé Štorc. 
Zobrazeno 9 zpráv z 9.

