Processing 处理中展开贴图的颜色渐变

Processing 处理中展开贴图的颜色渐变,processing,Processing,你能告诉我如何在下面的代码中更改颜色渐变吗?在我的代码中,我试图从这里控制颜色渐变: for( Marker marker : countryMarkers ) { for( i=0; i<255; i++ ){ marker.setColor(color(255, i, 0)); } } for(标记:countryMarkers){ 对于(i=0;i您有一个嵌套循环,因此在显示之前,您将使用每种颜色设置每个标记,从(255,0,0)到(255,

你能告诉我如何在下面的代码中更改颜色渐变吗?在我的代码中,我试图从这里控制颜色渐变:

for( Marker marker : countryMarkers ) {
    for( i=0; i<255; i++ ){
        marker.setColor(color(255, i, 0));    
    }
}
for(标记:countryMarkers){

对于(i=0;i您有一个嵌套循环,因此在显示之前,您将使用每种颜色设置每个标记,从(255,0,0)到(255,255,0)。最后,它们在内部循环中保留相同的最后一种颜色

您可以使用常规的
for
循环遍历数组,因此可以将索引用作color()的一部分。但您需要注意最大值,例如:

(注意,常规for循环中缺少
int

for(int i=0;i
或者在
中为每个
使用递增的var,而不是索引

for(标记:countryMarkers){
setColor(color(255,(otherVar++)%255,0));
}
import de.fhpotsdam.unfolding.mapdisplay.*;
import de.fhpotsdam.unfolding.utils.*;
import de.fhpotsdam.unfolding.marker.*;
import de.fhpotsdam.unfolding.tiles.*;
import de.fhpotsdam.unfolding.interactions.*;
import de.fhpotsdam.unfolding.ui.*;
import de.fhpotsdam.unfolding.*;
import de.fhpotsdam.unfolding.core.*;
import de.fhpotsdam.unfolding.mapdisplay.shaders.*;
import de.fhpotsdam.unfolding.data.*;
import de.fhpotsdam.unfolding.geo.*;
import de.fhpotsdam.unfolding.texture.*;
import de.fhpotsdam.unfolding.events.*;
import de.fhpotsdam.utils.*;
import de.fhpotsdam.unfolding.providers.*;
import java.util.List;
UnfoldingMap map;

void setup() {
  size(800, 600);

int i=0,k=15;

  map = new UnfoldingMap(this, new Microsoft.AerialProvider());
  Location cyprusLocation = new Location(35f, 33f);
  map.zoomAndPanTo(cyprusLocation, 11);
  float maxPanningDistance = 30; // in km
  map.setPanningRestriction(cyprusLocation, maxPanningDistance);
  //map = new UnfoldingMap(this);
  MapUtils.createDefaultEventDispatcher(this, map);

  List<Feature> countries = GeoJSONReader.loadData(this, "Dasos.geo.json");
  List<Marker> countryMarkers = MapUtils.createSimpleMarkers(countries);
  map.addMarkers(countryMarkers);
  /*
  for (Marker marker : countryMarkers) {
 // marker.setColor(color(255, 0, 0));

}
*/
  for (Marker marker : countryMarkers) {
for(i=0;i<255;i++){
marker.setColor(color(255, i, 0));


}
  }

}

void draw() {
  map.draw();
}
void keyPressed() {
  if (key == ' ') {
    map.getDefaultMarkerManager().toggleDrawing();
  }
}